#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; }
感悟:好多条条道道啊!
12周 长颈鹿类对动物类的继承 public继承方式,布布扣,bubuko.com
原文地址:http://blog.csdn.net/zjx211314/article/details/25709379