C++ 继承

#include <iostream>
#include <string>
using namespace std;

/*
    继承的方式
    1.公共继承
    2.保护继承
    3.私有继承
    // public Person 这个叫做公共继承方式
    // 子类 == 派生类
    // 父类 == 基类
*/
class Father
{
public:
    int fa;

protected:
    int fb;

private:
    int fc;
};

class Son : public Father
{
public:
    void func()
    {
        fa = 10; // 父类中的公共权限到子类中依然是公共权限
        fb = 12; // 在子类中依然是保护权限
        // fc = 14; // 父类中的私有权限在子类中访问不到
    }
};

void test()
{
    Son s;
    s.fa = 1000; // 公共权限 类外也可以访问
    // s.fb = 200;  // fb是保护权限 类外访问不到
}

// 保护继承

class Base
{
public:
    int ba;

protected:
    int bb;

private:
    int bc;
};

class Son1 : protected Base
{
public:
    void func()
    {
        ba = 100; // 父亲中公共成员 到继承保护权限 子类中变为保护权限
        bb = 200;
        // bc = 300; 私有成员访问不到父类的私有属性
    }
};

void test1()
{
    Son1 s2;
    // s2.ba = 100; // 在Son1中变为保护权限 类外不能进行访问
}

class Son2 : private Base
{
public:
    void func()
    {
        ba = 100; // 父类中公共成员到子类中变为私有成员
        bb = 200;
    }
};

void test3()
{
    Son2 s2;
    // s2.ba = 10; // 在Son2中变为私有权限 变为类外不能进行访问
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值