三种访问权限
public:可以被任意实体访问
protected:只允许子类及本类的成员函数访问
private:只允许本类的成员函数访问
三种继承特点
1、public继承不改变基类成员的访问权限
2、private继承使得基类所有成员在子类中的访问权限变为private (基类的private变量在子类中永远无法访问)
3、protected继承将基类中public成员变为子类的protected成员,其它成员的访问 权限不变。 (基类的private变量在子类中永远无法访问)
4、基类中的private成员不受继承方式的影响,子类永远无权访问。
代码示例
1 #include <iostream> 2 using namespace std; 3 4 5 class myclass 6 { 7 public: 8 int x = 10; 9 void go1() 10 { 11 12 } 13 private: 14 int y = 20; 15 void go2() 16 { 17 18 } 19 protected: 20 int z = 30; 21 void go3() 22 { 23 24 } 25 }; 26 27 //public公有继承,私有数据无法访问, 28 //公有成员仍然公有,保护成员仍然是保护成员 29 class newclass :public myclass 30 { 31 public: 32 void show() 33 { 34 go1(); 35 //不能调用私有变量 36 //go2(); 37 go3(); 38 } 39 }; 40 41 //私有继承全部都变成私有 42 class newclass2 : private myclass 43 { 44 45 }; 46 47 //公有,保护,统一变成保护 48 class newclass2 : protected myclass 49 { 50 51 }; 52 53 54 55 void main() 56 { 57 newclass mynew1; 58 }