13 Nisan 2010 Salı

C++ ile kalıtım(ınheritance ) ve enum Örneği

//www.ethemsulan.com
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
enum yn{hayir,evet};
enum color{kirmizi,sari,yesil,turuncu};
void out(enum yn x);
char *c[]={"kırmızı","sarı","yeşıl","turuncu"};
class fruit{
      public:
             enum yn surekli;
             enum yn mevsimlik;
             enum yn agac;
             enum yn tropik;
             enum color clr;
             char name[40];
      };
class apple:public fruit{
      enum yn pisirmekicin;
      enum yn suyuicin;
      enum yn yemekicin;
      public:
             void seta(char *n,enum color c,enum yn ck,enum yn crc,enum yn e);
             void show();
      };
class orange:public fruit{
      enum yn meyvasuyu;
      enum yn recel;
      enum yn yemek;
      public:
             void seto(char *n,enum color c,enum yn ck,enum yn crc,enum yn e);
             void show();
      };
void apple::seta(char *n,enum color c,enum yn ck,enum yn crc,enum yn e){
     strcpy(name,n);
     surekli=hayir;
     mevsimlik=evet;
     agac=evet;
     tropik=hayir;
     clr=c;
     pisirmekicin=ck;
     suyuicin=crc;
     yemekicin=e;     
     }
void orange::seto(char *n,enum color c,enum yn j,enum yn sr,enum yn e){
     strcpy(name,n);
     surekli=hayir;
     mevsimlik=evet;
     agac=evet;
     tropik=evet;
     clr=c;
     meyvasuyu=j;
     recel=sr;
     yemek=e;
     }
void apple::show(){
     cout<<name<<"elma: "<<endl;
     cout<<"suekli: ";out(surekli);
     cout<<"mevs: ";out(mevsimlik);
     cout<<"ağac: ";out(agac);
     //cout<"tropik: ";out(tropik);
     cout<<"color: ";c[clr];
     cout<<"pisirilir mi: ";out(pisirmekicin);
     cout<<"suyu icin: ";out(suyuicin);
     cout<<"yenilir mi: ";out(yemekicin);
     }
void orange::show(){
     cout<<name<<"portkakal:"<<endl;
      cout<<"suekli: ";out(surekli);
     cout<<"mevs: ";out(mevsimlik);
     cout<<"ağac: ";out(agac);
     //cout<"tropik: ";out(tropik);
     cout<<"color: ";c[clr];
     cout<<"pisirilir mi: ";out(meyvasuyu);
     cout<<"recel: ";out(recel);
     cout<<"yenilir mi: ";out(yemek);
     }
void out(enum yn x){
     if(x==hayir) cout<<"Hayir\n";
     else cout<<"evet\n";
     }
int main(int argc, char *argv[])
{
    apple a1,a2;
    orange o1,o2;
    a1.seta("red delicious",kirmizi,hayir,evet,evet);
    a2.seta("jonathan",kirmizi,evet,hayir,evet);
    //o1.setj("navel",turuncu,hayir,hayir);
    //o2.setj("valencia",turuncu,evet,evet,hayir);
    a1.show();
    a2.show();
    o1.show();
    o2.show();
    system("PAUSE");
    return EXIT_SUCCESS;
}

Hiç yorum yok:

Yorum Gönder