虚函数和纯虚函数几个注意点

tech2022-10-07  121

虚函数和纯虚函数几个注意点

虚函数的默认参数

虚函数默认参数的值,与当前指针类型有关,指针类型是啥,参数的值为哪个类中的值; 例如:

class A{ public : virtual play(int arg = 1){ cout << arg << endl; } }; class B : public A{ public : virtual play(int arg = 2){ cout << arg << endl; } }; int main(){ A *a = new B(); B *b = new B(); a.play(); b.play(); delete a; delete b; return 0; }

输出的结果是 1 2,而不是 2 2;

纯虚函数的用途

提高编码效率,在基类只需要定义接口而不需要实现;为了保证代码逻辑正确,明确调用函数,继承了抽象类的子类,必须实现纯虚函数才能实例化,否则也是抽象类;

2020/09/03 10:39 @luxurylu

最新回复(0)