关于c++的私有继承,不可访问

c++私有继承其实并不常用,因为私有继承会使其派生类访问属性变为private或是不可访问,

我们现在要说的就是这个不可访问,其实这个不可访问应该叫不可直接访问,其实不可直接访问成员是可以通过一定方法访问的,所以我们叫他不可直接访问。

上代码:

 1 #include <iostream>
 2 
 3 using std::cout;
 4 using std::cin;
 5 using std::endl;
 6 
 7 // 类 A 为基类
 8 class A{
 9 public:
10     A(int m):a(m){}
11     void getA()
12     {
13         cout<< a <<endl;
14     }
15 private:
16     int a;
17 };
18 
19 
20 class B: private A
21 {
22 public:
23     B(int m):A(m){}  // 类B调用类A的构造函数A()并传入参数m
24 
25     void getB(void)
26     {
27         getA();
28     }
29 };
30 
31 
32 class C: private B
33 {
34 public:
35     C(int m):B(m){}  // 类C调用类B的构造函数B()并传入参数m
36 
37     void getC(void)
38     {
39         getB();
40     }
41 };
42 
43 int main(void)
44 {
45     C c(0);    // 实例化对象c, 传入参数m
46     c.getC();  // 输出的为类A的私有数据成员 a 
47 
48     system("PAUSE");
49     return 0;
50 }

可是这样是不是太麻烦了,所以一般我们是不用private继承的,通常是public继承

转载于:https://www.cnblogs.com/luwei-coder/archive/2012/11/27/cppcode1.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值