类 基类与派生类
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,否则该派生类也不能实例化),而且它们在抽象类中往往没有定义。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步