抽象基类可以有构造函数,在子类需要调用抽象类中的函数或方法时,需要调用构造函数,同样析构函数也可以存在,类的初始化顺序:父类的静态成员,静态初始化块,子类静态成员,静态初始化块,父类成员变量,父类构造函数,子类成员变量,子类构造函数。
只不过很多抽象基类没有过多的成员函数来声明为纯虚函数,所以就用析构函数比较方便;而构造函数是不能为虚函数的。
声明为纯虚函数的析构函数仍然需要定义,但如果是其他成员函数声明为纯虚函数,则无需定义。就是说如果成员函数有限,也可以用析构函数作为纯虚函数,做一个抽象基类。
时间: 2024-11-09 19:24:54