cpp继承方式

06-2 继承方式

在上一章中,我们学习了继承的语法:class 子类名称 :继承方式 父类名称

继承一共有三种方式

  1. 公共继承(public
  2. 保护继承(protected
  3. 私有继承(private

继承的三种继承方式就是类中成员的三种权限。

我们假设有一个父类A

class A
{
public:
    int m_A;
protected:
    int m_B;
private:
    int m_C;
};

我们以三种继承方式单独介绍:

  1. 公共继承(public

    我们创建一个子类B,使用公共继承(public)的方式继承父类B

    即使用这样的方式创建:class B :public A {};

    那么实际创建出来的B是这样的:

    class B :public A
    {
    public:
    int m_A;
    protected:
    int m_B;
    }
  2. 保护继承(protected

    我们创建一个子类B,使用保护继承(protected)的方式继承父类B

    即使用这样的方式创建:class B :protected A {};

    那么实际创建出来的B是这样的:

    class B :public A
    {
    protected:
    int m_A;
    int m_B;
    }
  3. 私有继承(private

    我们创建一个子类B,使用私有继承(private)的方式继承父类B

    即使用这样的方式创建:class B :private A {};

    那么实际创建出来的B是这样的:

    class B :public A
    {
    private:
    int m_A;
    int m_B;
    }
  • 注意

    1. 一个子类继承了父类所有成员,但下列情况除外:
      • 父类的构造函数、析构函数和拷贝构造函数。
      • 父类的重载运算符。
      • 父类的友元函数。
  • 总结:

    1. 无论什么方式继承,都无法访问父类中的私有成员(private
    2. 如果父类中,属性的公开权限大于继承方式的公开权限,则会在继承后,会修改公开权限大于继承方式的成员的权限为当前继承方式的权限。
      • 公共继承(public):无法访问父类的私有属性(private)。除私有属性外的属性都可以被继承,且不会修改属性的权限。
      • 保护继承(protected):无法访问父类的私有属性(private);父类中公共成员(public)将会被修改成为保护权限(protected)。
      • 私有继承(private)无法访问父类的私有属性(private);父类中所有成员,都会被修改成为私有权限(private)。
文章「cpp继承方式」,由本站用户「Admin」发布。文章仅代表Admin观点,不代表本站立场。
页面网页地址「https://xiaozhiyuqwq.top/p/927」。
如您对文章及其附件提出版权主张,或进行引用转载等,请查看我们的【版权声明】
无评论:-)

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇