10 Nisan 2012 Salı

C++ Inheritane(kalıtım) Örneği 2















#include
#define pi 3.14
using namespace std;
class point {
friend ostream& operator<<(ostream& yaz,point p){ //<< operatorunu asırı yukledik
yaz<<"("<
return yaz;
}

private:
int x,y;
public:

point(int a=0,int b=0)
{
setPoint(a,b);
}
void setPoint(int a,int b)
{
x=a;
y=b;
}
~point(){}//test amaclı bi seyler yazılabilir
};
class cember:public point{ //point'ten cember turettık //:public  eristigimiz icin
int yaricap;                                      //public fonksiyonlara ulasabilirz
float alan;
float cevre;
public:
cember(int x=0,int y=0,int r=0){
setPoint(x,y);
setYaricap(r);
setAlan();
setCevre();
}
void setYaricap(int a) {yaricap=a;}
int getYaricap() {  return yaricap;}
void setAlan(){

alan=pi*getYaricap()*getYaricap();
}
float getAlan() {return alan;}

void setCevre(){

cevre=2*pi*yaricap;
}
float getCevre() {return cevre;}

void printInfo(cember t){ // tüm bilgileri goster

cout<<"Cemberin merkezi: "<
cout<<"Cemberin yaricapi: "<
cout<<"Cemberin alani: "<
cout<<"Cemberin cevresi: "<
}

};
class kure:public cember {

public:
kure(int a=0,int b=0,int c=0){
setYaricap(c);
setPoint(a,b);
hacim=(4/3)*pi*getYaricap()*getYaricap()*getYaricap(); //sayisal degerler
                                                                                             //dogru cıkmayabilir
}                                                          //int-float donusumunu ihmal ettigim icin
void setHacim(kure c){                                     //ugrasmak istemedim :)
hacim=(4/3)*pi*getYaricap()*getYaricap()*getYaricap();
}
float getHacim() {return hacim;}

void printKure(kure t) {

cout<<"Kurenin merkezi: "<
cout<<"Kurenin yaricapi: "<
cout<<"Kurenin hacmi: "<
}
private:
float hacim;

};

int main () {
point p;
cout<Pointe ait bilgiler"<

cout<<"\n";

cember test(3,4,5);
test.printInfo(test);
cout<<"\n";


kure deneme(0,0,10);      
deneme.printKure(deneme);

//deneme.printInfo(deneme);

/*cember sınıfına ozelmis gibi dusunulse de kure sınıfı
cemberden turedigi icin problem olmayacaktır
gerekli ortak bilgilere erisip bilgileri yazabilir*/

system("PAUSE");
return 0;
}

Hiç yorum yok:

Yorum Gönder