C++似乎好遥远。为了通过笔试,硬着头皮上。
1. 基类派生类方法调用
对于基类函数(virtual、非virtual),如果派生类没有同名函数,则正常继承
对于基类函数(virtual、非virtual),如果派生类有同名函数,无同型函数,则不能调用基类函数
对于基类函数(virtual、非virtual),如果有同型函数:
----非virtual函数由指针类型决定调用哪个
----virtual函数由指针指向的对象决定调用哪个(运行时决定)
2. 纯虚函数
虚函数后加=0意味着这是纯虚函数。凡是含有纯虚函数的类叫做抽象类。这种类不能声明对象,只是作为基类为派生类服务。除非在派生类中完全实现基类中所有的的纯虚函数,否则,派生类也变成了抽象类,不能实例化对象。
3. 继承的时候,基类加public修饰才能使用基类的内容。
4. 继承时基类加virtual为虚基类。虚基类,在多继承中有用。如果一个类的两个基类同时直接或者间接地从一个类继承,那么两个基类对前面的类的继承就应该使用虚基类继承,否则会引起二义性。
5. 缺省参数和虚函数一起出现。虚函数动态绑定,但是缺省参数是静态绑定的。指针是那种类型就使用哪个缺省参数。