1.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";}void take(){eat();// ok,公有继承下,基类的公有成员对派生类可见//drink();// error,公有继承下,基类的私有成员对派生类不可见,也就是说,派生类不能访问基类私有成员play();// ok,公有继承下,基类的保护成员对派生类可见}};int main(){Giraffe gir;// 以下三条语句说明基类成员对派生类对象的可见性gir.eat();// ok,公有继承下,基类的公有成员对派生类对象可见// gir.play(); // error,公有继承下,基类的保护成员对派生类对象不可见// gir.drink(); // error,公有继承下,基类的私有成员对派生类对象不可见// 下面一条语句说明基类成员对派生类的可见性// 派生类(即对派生类的成员函数,派生类的友元函数和有元类可见性,和派生类对象无关)gir.take();gir.StrechNeck();return 0;}#include <iostream>using names 你的当前访问异常,请进行认证后继续阅读剩余内容。 提交