一、父类与子类
1.父类与子类的相互转换
派生类的对象可以赋给基类,反之不行
基类的指针可以指向派生类,反之不行基类的引用可以初始化为派生类的对象,反之不行
派生类指针必须强制转换为基类指针后才可以指向基类
基类指针转换为派生类指针容易导致崩溃性错误
虚基类的引用或派生不能转换为派生类
class father{};
class son:public father{};
int main()
{
father f;
son s;
f = s;//正确
s = f;//错误
father *pf = new son;//正确
son *ps = new father;//错误
father &rf = s;//正确
father &rs = f;//错误
return 0;
}
2.继承关系对基类成员的影响
公有成员 | 保护成员 | 私有成员 | |
公有继承 | 公有 | 保护 | 不可访问 |
保护继承 | 保护 | 保护 | 不可访问 |
私有继承 | 私有 | 私有 | 不可访问 |
成员函数 | 1 | 1 | 1 |
对象 | 1 |