#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中变为私有权限 变为类外不能进行访问
}
C++ 继承
最新推荐文章于 2024-09-26 21:10:57 发布
文章详细介绍了C++中的三种继承方式:公共继承、保护继承和私有继承。通过示例代码展示了不同继承方式下,子类对父类成员的访问权限。公共继承使父类的公有成员在子类中保持公有,保护继承将父类的公有成员变为子类的保护成员,而私有继承则使父类的公有成员在子类中成为私有。
摘要由CSDN通过智能技术生成