继承优点:减少代码重复
语法:class 子类:继承方式 父类 (子类亦称为派生类,父类亦称为基类)
继承方式共有三种:
- 公共基础
- 保护继承
- 私有继承
#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; //不可访问
}
};
void test01()
{
Son1 s1;
s1.m_A=100;
// s1.m_B=100; //s1中是保护权限,类外访问不到
}
void test02()
{
Son2 s2;
// s2.m_A=200; //m_A变为保护权限,类外访问不到
}
void test03()
{
Son3 s3;
// s3.m_A=100; //m_A变为私有成员,类外访问不到
}
int main()
{
test01();
test02();
test03();
return 0;
}