长颈鹿类对动物类的继承

来源:互联网 发布:腾讯数据分析大师 编辑:程序博客网 时间:2024/05/16 18:21
//02.* Copyright (c) 2013, 烟台大学计算机学院    
//04.* 作    者: 马德鹏    //05.* 完成日期:2014 年 5 月17 日    //06.* 版 本 号:v1.0    //07.* #include <iostream>using namespace std;class Animal    //动物类{public:    Animal() {}    void eat()    {        cout << "eat\n";    }protected:    void play()    {        cout << "play\n";    }private:    void drink()    {        cout << "drink\n";    }};class Giraffe: public Animal   //长颈鹿类{public:    Giraffe() {}    void StrechNeck()    {        cout << "Strech neck \n";    }private:    void take()    {        eat();        // 正确,公有继承下,基类的公有成员对派生类可见        drink();      // _错误,私有继承下,基类的成员对派生类对象(不论访问属性)不可见______________        play();       // __错误,私有继承下,基类的成员对派生类对象(不论访问属性)不可见_____________    }};int main(){    Giraffe gir;      //定义派生类的对象    gir.eat();        // 正确,公有继承下,基类的公有成员对派生类对象可见    gir.play();       // _错误,基类的成员对派生类对象(不论访问属性)不可见______________    gir.drink();      // _错误_基类的成员对派生类对象(不论访问属性)不可见____________    gir.take();     // ____错误,基类的成员对派生类对象(不论访问属性)不可见___________    gir.StrechNe(); // ___正确,____________    Animal ani;    ani.eat();        // __正确,_____________    ani.play();       // __错误,_____________    ani.drink();      // ___正确,____________    ani.take();       //错误,派生类的成员对基类对象(不论访问属性)不可见    ani.StrechNeck(); // ___错误,___________    return 0;}


0 0