1.构造函数的初始化顺序是先调用基类的构造函数,再调用继承类构造函数,若在构造函数调用虚函数,若此时正在调用基类构造函数,继承类构造函数还未调用,则数据变量还未初始化,此时会出现未初始化定义异常
2.析构函数则相反,析构函数的调用顺序是先调用继承类析构函数,再调用基类析构函数,若在析构函数调用虚函数,若此时继承类析构函数已调用完成,数据变量已经释放,则会出现未初始化定义异常
1.构造函数的初始化顺序是先调用基类的构造函数,再调用继承类构造函数,若在构造函数调用虚函数,若此时正在调用基类构造函数,继承类构造函数还未调用,则数据变量还未初始化,此时会出现未初始化定义异常
2.析构函数则相反,析构函数的调用顺序是先调用继承类析构函数,再调用基类析构函数,若在析构函数调用虚函数,若此时继承类析构函数已调用完成,数据变量已经释放,则会出现未初始化定义异常