Nesneye Dayalı Programlama Final Soru Çözümleri (2015 Yaz okulu)

Soru 1-)  Aşağıdaki programda çağrılan carp fonksiyonunu şablon olarak yazınız

#include 
using namespace std;
template <class T>
T carp(T deger1, T deger2, T deger3){

	return deger1*deger2*deger3;
}
int main(){
	int x = 2, y = 3, z = 4;
	float a = 2.1, b = 3.5, c = 4.3;
	int s1 = carp(x, y, z );
	float s2 = carp(a, b, c);
	 cout << s1 << "  " << s2; // sağlama
	system("pause");
	return 0;
}

Soru 2-)Aşağıdaki programın çalışması için gerek sınıfı ve fonksiyonu tanımlayın .ikiyeKatla fonksiyonu  en ve boy değerlerinin iki katı değerlerini yeni örneğe atayacaktır . Programın çıktısı 60 olacaktır .

#include <iostream>

using namespace std;
class Dikdortgen{

public:
	Dikdortgen(){};
	 Dikdortgen(double, double);
	Dikdortgen(Dikdortgen &);
	 double alan();
	 double a, b;
};

Dikdortgen::Dikdortgen(double aa, double bb){

	a = aa;
	b = bb;
}
Dikdortgen::Dikdortgen(Dikdortgen &d){

	a = d.a;
	b = d.b;
}
Dikdortgen ikiyeKatla(Dikdortgen &dkatla){
	dkatla.a *= 2;
	dkatla.b *= 2;
	return dkatla;
}


double Dikdortgen::alan(){
	return a*b;


}

int main()
{
	Dikdortgen d1;
	Dikdortgen d2(3,5);
	d1 = ikiyeKatla(d2);
	cout << d1.alan() << "\n";

	system("pause");
	return 0;
}

Soru -3) Programın çalışması için gereken > operatörü

#include <iostream>
using namespace std;

class Kutu{
public :
	Kutu(int u, int g, int y){

		uzunluk = u;
		genislik = g;
		yukseklik = y;
	}
	friend bool operator >( Kutu&,  Kutu&);

//	friend bool operator<(const Kutu&, const Kutu&);
	double hacim();

private:
	int uzunluk, genislik, yukseklik;

};
double Kutu::hacim(){

	return uzunluk*genislik*yukseklik;
}
bool operator >(Kutu& k1,  Kutu& k2){

	return k1.hacim() > k2.hacim();
}
int main(){
	Kutu k1(15, 8, 4), k2(3, 7, 8);
	if (k1>k2) cout << "Kutu -1 buyuktur" << endl;
	else
		cout << "Kutu -2 buyuktur"<<endl;
	system("pause");
	return 0;
}

 

C/C++ içinde yayınlandı

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir