码迷,mamicode.com
首页 > 编程语言 > 详细

C++三种继承方式

时间:2020-03-13 21:04:26      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:c++   return   void   protected   mes   private   成员   三种继承方式   pac   

#include<iostream>
using namespace std;
class Base {
public:
    int m_A;
protected:
    int m_B;
private:
    int m_C;
};

class Son1 :public Base {
public:
    void func() {
        m_A = 10;//公共权限
        m_B = 10;//保护权限
        //m_C = 10;子类不可访问
    }
};
//公共继承方式下父类公共权限的成员变成子类公共权限的成员
//父类保护权限的成员变成子类保护权限的成员
//父类私有权限的成员子类在类内不可访问
class Son2 :protected Base {
public:
    void func() {
        m_A = 10;//保护权限
        m_B = 10;//保护权限
        //m_C = 10;子类不可访问
    }
};
//保护继承方式下父类公共权限的成员变成子类保护权限的成员
//父类保护权限的成员变成子类保护权限的成员
//父类私有权限的成员子类在类内不可访问
class Son3 :private Base {
public:
    void func() {
        m_A = 10;//私有权限
        m_B = 10;//私有权限
        //m_C = 10;子类不可访问
    }
};
//私有继承方式下父类公共权限的成员变成子类私有权限的成员
//父类保护权限的成员变成子类私有权限的成员
//父类私有权限的成员子类在类内不可访问


int main() {
    Son1 s1;
    s1.m_A = 100;
    //s1.m_B = 200;保护权限的成员类外访问不到
    //s1.m_C = 300;私有权限的成员类外访问不到
    system("pause");
    return 0;
}

 

C++三种继承方式

标签:c++   return   void   protected   mes   private   成员   三种继承方式   pac   

原文地址:https://www.cnblogs.com/lyt888/p/12488564.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!