函数不可访问_C++之访问控制与继承

C++中,public、protect、private用于访问控制和继承方式控制。默认成员为private,类自身能访问所有成员,实例化对象仅能访问public成员。protect成员在派生类中可见,private成员则不可见。默认继承为private,public继承允许子类继承所有成员,protect继承只允许继承public和protect成员,private继承则子类只能看到private成员。设计时,public成员供对象和子类访问,protect限制为子类访问,private成员仅限类内部使用。
摘要由CSDN通过智能技术生成

13b1eb48517a79bd0f95fde87e58e386.png

C++中的public、protect、private三个关键字既可以用于访问控制,也可以用于控制继承方式。

访问控制

在不加声明时,类的成员默认为private成员。

对于类的public、protect、private成员(包括成员变量与成员函数),其访问控制规则可以总结为下表:

8a3f8acc071948701eb3cac73c089377.png

大致解释就是:

  1. 首先类本身对于自己的所有成员肯定是有访问权限的,无论是public、protect还是private
  2. 类的实例化对象只对类的public成员有访问权限
  3. protect相比private成员的特别之处在于,protect对于派生类是可访问(或可见)的,而private成员在派生类中不可见。

对于第三点,换句话说就是,只有父类的public、protect成员可以被子类继承,private成员子类压根是看不到的。至于父类的public、protect成员继承到子类后,是

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值