abstract类中不可以有private的成员_C++类的三种继承方式:public/protected/private

86152ea099a4bc07d8ef2d880363b500.png

接上文:C++类成员的三种访问权限:public/protected/private

C++ 通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限(也称为可见性)。

  • public:可以被该类中的函数、子类的函数、友元函数访问,也可以由该类的对象访问;
  • protected:可以被该类中的函数、子类的函数、友元函数访问,但不可以由该类的对象访问;
  • private:可以被该类中的函数、友元函数访问,但不可以由子类的函数、该类的对象、访问。

同时,公有继承(public)、保护继承(protected)、私有继承(private)是 C++ 的三种继承方式,它们相应改变了基类成员的访问属性。

1、公有继承

公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原来的状态。

因此,派生类的成员函数可以访问基类的公有成员和保护成员;而派生类的对象只可以访问基类的公有成员。

2、保护继承

保护继承的特点是基类的公有成员和保护成员都成为派生类的保护成员。

所以,派生类的成员函数可以访问基类公有成员和保护成员;而派生类的对象不可以访问。

6ab29523466fd6ef40be1a22d82778d7.png

3、私有继承

私有继承的特点是基类的公有成员和保护成员都成为派生类的私有成员。

所以,派生类的成员函数可以访问基类公有成员和保护成员;而派生类的对象不可以访问。

不管哪种继承方式,下面两点都没有改变:

  • 基类的私有成员仍然是私有的,只能被本类成员函数和友元访问,不能被派生类访问;
  • 保护成员可以被派生类访问,但不能被派生类的对象访问。
4088cbdc4e58fe81a7cca36721a86989.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值