101.C++继承三种权限

三种访问权限

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 }

 

posted @ 2018-03-19 16:36  喵小喵~  阅读(2131)  评论(0编辑  收藏  举报