C++多態(tài)特性例

字號:


    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;
    }