C++多态特性例
2012-12-20 19:41:34 来源:WEB开发网核心提示:#include<iostream>#include<string>using namespace std;class fruit{public:virtual void how_to_eat()const=0;virtual void show_priority()const=0;
#include<iostream> #include<string> using namespace std; class fruit { public: virtual void how_to_eat()const=0; virtual void show_priority()const=0; fruit(string a,string b,double c); string name; 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; }
- ››多态、重载、重写、override
- ››特性信息
- ››多态与面向对象(二)
- ››多态与面向对象(一)
赞助商链接