我知道派生类构造函数可以将值传递给基类构造函数吗?但是可以在C ++中派生类访问构造函数和基类的析构函数吗?
答案 0 :(得分:5)
派生类可以访问基类构造函数吗?
是
struct Derived : public Base {
Derived(SomeType some_arg) : Base(something_extracted_from (some_arg)) {…}
您的"将值传递给基类构造函数" 机制,派生类通过该机制访问基类构造函数。
派生类可以访问基类析构函数吗?
是的,但这是一个非常糟糕的主意。与构造函数不同,析构函数具有名称,这意味着它可以作为普通成员函数调用。 您不希望这样做。在派生类的析构函数返回后,底层C ++机制将调用基类析构函数。如果派生类析构函数显式调用基类析构函数,则在销毁期间将调用基类析构函数两次。那是灾难的秘诀。