12.1.1

来源:互联网 发布:杀人漫画剧情知乎 编辑:程序博客网 时间:2024/06/05 19:59
#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.StrechNeck(); // ___正确,公有,可调用____________    Animal ani;    ani.eat();        // __正确,公有可调用____________    ani.play();       // ____错误,保护型,不可调用___________    ani.drink();      // ______错误,私有不可调用_________    ani.take();       //错误,派生类的成员对基类对象(不论访问属性)不可见    ani.StrechNeck(); // __错误,派生类的成员对基类对象(不论访问属性)不可见_____________    return 0;}

0 0
原创粉丝点击