首页 > 代码库 > 12周 长颈鹿类对动物类的继承 public继承方式

12周 长颈鹿类对动物类的继承 public继承方式

#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();    // 错误 drink()在Animal类中为私有函数_____________        play();       // 正确 公有继承下,基类的受保护成员对派生可见_____    }};int main(){    Giraffe gir;      //定义派生类的对象    gir.eat();        // 正确,公有继承下,基类的公有成员对派生类对象可见    //gir.play();     // 错误,Giraffe中的对象类外不能访问Animal类受保护成员______    //gir.drink();    // 错误,Giraffe中的对象类外不能访问Animal类私有成员________    //gir.take();     // 错误,Giraffe中的对象本类中私有成员________    gir.StrechNeck(); // _______________    Animal ani;    ani.eat();        // _______________    //ani.play();     // 错误,Animal中的对象类外不能访问本类中的受保护成员________    //ani.drink();    // 错误,Animal中的对象类外不能访问本类中的私有成员_________    //ani.take();     //错误,派生类的成员对基类对象(不论访问属性)不可见    //ani.StrechNeck();// 错误,派生类的成员对基类对象(不论访问属性)不可见______    return 0;}


感悟:好多条条道道啊!