c++学习笔记之继承方式 您所在的位置:网站首页 类的继承方式有三种 c++学习笔记之继承方式

c++学习笔记之继承方式

2024-06-26 20:31| 来源: 网络整理| 查看: 265

继承方式     继承的语法:class 子类 : 继承方式 父类     继承方式一共有三种:         1)公共继承(public)    class A : public B             父类(B)中的公共权限和保护权限的内容继承到子类(A)中后,其权限不变,原来是保护在子类中也是保护,原来是公共在子类中也是公共。父类中的私有权限内容,子类虽然继承了,但是无访问权限

        2)保护继承(protected)    class A : protected B             父类(B)中的公共权限和保护权限的内容继承到子类(A)中后,无论这些内容在父类中是公共还是保护权限,到子类中全部变为保护权限。父类中的私有权限内容,子类虽然继承了,但是无访问权限

        3)私有继承(private)             父类(B)中的公共权限和保护权限的内容继承到子类(A)中后,无论这些内容在父类中是公共还是保护权限,到子类中全部变为私有权限。父类中的私有权限内容,子类虽然继承了,但是无访问权限          验证代码:

#include using namespace std; class Bassic { public: int m_A; protected: int m_B; private: int m_C; }; class Son1 : public Bassic { public: void func() { m_A = 10; //不报错,父类中公共成员 到子类中还是公共成员 m_B = 10; //不报错,父类中保护成员 到子类中还是保护成员 //m_C = 10; //报错,不能访问父类中的私有成员 } }; //公共成员 类内类外都可以访问 void test01() { Son1 s1; s1.m_A = 100; //不报错,父类中公共成员 到子类中还是公共成员 //s1.m_B = 100; //报错,父类中保护成员 到子类中还是保护成员 //s1.m_C = 100; //报错,不能访问父类中的私有成员 } class Son2 : protected Bassic { public: void func() { m_A = 10; //不报错,父类中公共成员 到子类中是保护成员 m_B = 10; //不报错,父类中保护成员 到子类中还是保护成员 //m_C = 10; //报错,不能访问父类中的私有成员 } }; //保护成员 类内可以访问,类外不可以访问 void test02() { Son2 s1; //s1.m_A = 100; //报错,父类中公共成员 到子类中是保护成员 //s1.m_B = 100; //报错,父类中保护成员 到子类中还是保护成员 //s1.m_C = 100; //报错,不能访问父类中的私有成员 } class Son3 : private Bassic { public: void func() { m_A = 10; //不报错,父类中公共成员 到子类中是私有成员 m_B = 10; //不报错,父类中保护成员 到子类中是私有成员 //m_C = 10; //报错,不能访问父类中的私有成员 } }; //私有成员 类内可以访问,类外不可以访问 void test03() { Son3 s1; //s1.m_A = 100; //报错,父类中公共成员 到子类中是私有成员 //s1.m_B = 100; //报错,父类中保护成员 到子类中是私有成员 //s1.m_C = 100; //报错,不能访问父类中的私有成员 } class GrandSon : public Son3 { public: void func() { //m_A = 10; //报错,证明了Son3中的m_A是私有权限 //m_B = 10; //报错,证明了Son3中的m_B是私有权限 //m_C = 10; //报错,证明了Son3中的m_C是私有权限 } }; int main() { system("pause"); return 0; }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有