C++多态特性例
2014-09-05来源:易贤网

string color;

double price;

};

class apple:public fruit

{

public:

apple();

void how_to_eat()const;

void show_priority()const;

};

class bnana:public fruit

{

public:

bnana();

void show_priority()const;

void how_to_eat()const;

};

fruit::fruit(string a,string b,double c):name(a),color(b),price(c){}

apple::apple():fruit("apple","red",1.23){}

bnana::bnana():fruit("bnana","yellow",0.34){}

void apple::how_to_eat()const

{

cout<<"直接吃"<<endl;

}

void apple::show_priority()const

{

cout<<name<<endl<<color<<endl<<price<<endl;

}

void bnana::how_to_eat()const

{

cout<<"去了皮再吃"<<endl;

}

void bnana::show_priority()const

{

cout<<name<<endl<<color<<endl<<price<<endl;

}

int main()

{

fruit *p[2]={NULL};

p[0]=new apple;

p[1]=new bnana;

for(int i=0;i<2;i++)

{

p[i]->show_priority();p[i]->how_to_eat();

}

return 0;

}

更多信息请查看IT技术专栏

推荐信息