1.三种继承方式
C++继承分为公有继承(public),保护继承(protected)和私有继承(private);
(1)公有继承(public)
基类的共有成员和保护成员作为派生类的成员时,保持原有状态,而基类的私有成员仍旧是私有的,不能被这个派生类所访问;
(2)保护继承(protected)
基类的公有成员和保护成员都变成派生类的保护成员,只能被派生类的成员函数或友元访问,基类的私有成员仍旧是私有的;
(3)私有继承(private)
基类的公有成员和保护成员都变成派生类的私有成员,不能被这个派生类所访问;
继承方式 | 基类的public成员 | 基类的protected成员 | 基类的private成员 | 继承引起的访问控制关系变化 |
公有继承public | 派生类的public成员 | 派生类的protected成员 | 不可见 | 基类的非私有成员在派生类中的访问属性不变 |
保护继承protected | 派生类的protected成员 | 派生类的protected成员 |