C++之继承

来源:互联网 发布:网络编码 维基百科 编辑:程序博客网 时间:2024/06/14 04:53
#include <iostream>using namespace std ; class  Animal{private:int age ;protected:int id ; public:int Height ; void Say_hi(void){cout << "this is hello" <<endl ; }};//无论哪种继承,父类私有成员在子类不可访问//公有继承,父类的公有跟受保护权限到了子类权限不变//受保护继承,父类的公有成员变成子类的受保护成员,受保护成员权限不变//私有继承,父类的公有成员及父类的受保护成员变成子类的私有成员class People : public  Animal{private:int aa ; protected:int cc ; public :int a ; void Say_hi(void){cout << "hi " << endl ;}void Say_cc(void){cout << "cc : " << cc << endl ;cout << "id : " << id << endl ; //cout << "age : " << age << endl ; cout << "aa : " << aa << endl ; }};int main(void){People  pp ; //pp.Height = 100 ;//pp.Say_cc();//pp.cc = 200 ;    //受保护的变量不允许直接访问//pp.id = 200 ; //pp.Say_hi();pp.Say_hi();//两者皆可pp.Animal::Say_hi();pp.People::Say_hi();return 0 ; }

运行结果:



1 0