第七章继承性与派生类
基类、派生类
单继承、多继承
类的层次概念
层次与复用
成员的继承
类的两种使用方法:
实例化使用
继承使用
将概念和实现转变成类层次
派生类是基类的具体化
派生类是基类的延迟定义
派生类是基类的组合
单继承
定义格式
class 派生类名:[访问控制] 基类名{
成员列表
}
访问控制
private
protected
public
公有基类
基类的公有成员等价于派生类的公有成员。
派生类的对象及其成员函数可以访问基类的公有成员。
保护基类
基类的公有成员等价于派生类的保护成员。
派生类的成员函数可以访问基类的公有成员。派生类的对象不可以访问基类的公有成员。
私有基类
基类的公有成员等价于派生类的私有成员。
只有派生类的成员函数可以访问基类的私有成员。
部分公开
使基类部分公有成员成为派生类的公有成员。
base:: 成员名;
在派生类中访问声明不允许对基类成员中私有成员进行访问。
例:
基类性质
继承性质
派生类性质
public
public
public
protected
public
protected
private
public
不能访问
public
protected
protected
protected
protected
protected
private
protected
不能访问
public
private
private
protected
private
private
private
private
不能访问
成员访问控制
公有基类
基类成员对基类对象的可见性:
公有成员可见,其它不可见。
基类成员对派生类的可见性:
公有成员和保护成员可见,私有成员不可见。
基类成员对派生类对象的可见性
公有成员可见,私有成员和保护成员不可见。
例:
class base{
private: int i1;
protected: int j1;
private: int f1();
};
class drv: public base{
private: int i2;
protected: int j2;
public: int f2();
};
Void main()
{
drv d1;
}
保护基类
基类成员对基类对象的可见性:
公有成员可见,其它不可见。
基类成员对派生类的可见性:
公有成员和保护成员可见,私有成员不可见。
公有成员和保护成员对派生类的派生类的成员可见
基类成员对派生类对象的可见性
所有成员都不可见
私有基类
基类成员对基类对象的可见性:
公有成员可见,其它不可见。
基类成员对派生类的可见性:
公有成员和保护成员可见,私有成员不可见。
所有成员对派生类的派生类的成员不可见
基类成员对派生类对象的可见性
所有成员都不可见
C7继承性与派生类 来自淘豆网m.daumloan.com转载请标明出处.