类 基类与派生类

 

1. 由于继承的特性, 基类引用可以指向派生类对象.   基可指派 派不能指基(指针)

2 static 静态数据 以及其他普通的非静态const数据 只能在类方法文件中初始化 除非他是const常量 可以直接在类定义中初始化

3 class RatedPlayer :public TableTennisPlayer

派生类需要自己的构造函数 但派生类不能直接访问基类的私有成员

派生类可以根据需要添加额外的数据成员和成员函数

4 派生类不能直接访问基类的私有成员,而必须通过基类方法进行访问,具体地说 派生类构造函数必须使用基类构造函数

c++使用成员初始化列表语法来完成这种工作 如下例

RatedPlayer::RatedPlayer(unsigned int r, const string &fn,const string & ln, bool ht): TableTennisPlayer(fn,ln,ht)

{ rating=r}


如果希望同一个方法在派生类和基类的行为是不同的,换句话来说,方法的行为应取决于调用该方法的对象,这种行为叫做多态

1. 在派生类重新定义基类的方法

2 使用虚方法  virtual //如果方法是通过引用或指针而不是对象调用的  程序会根据引用(指针)指向的对象来确定使用的方法  接第一条

在基类已经声明为虚方法后 派生类会自动将其转换成虚方法 但再使用关键字声明也是一个好办法

3 纯虚函数  

virtual void funtion1()=0// 于基类定义

定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。

定义一个函数为纯虚函数,才代表函数没有被实现。

纯虚函数最显著的特征是:它们必须在继承类中重新声明函数(不要后面的=0,否则该派生类也不能实例化),而且它们在抽象类中往往没有定义。

posted @ 2021-06-23 16:37  旅玖旅玖  阅读(188)  评论(0编辑  收藏  举报