gpt4 book ai didi

c++ - 派生类可以访问基类的构造函数和析构函数吗?

转载 作者:搜寻专家 更新时间:2023-10-31 00:36:19 27 4
gpt4 key购买 nike

我知道派生类的构造函数可以传值给基类的构造函数?但是C++中派生类可以访问基类的构造函数和析构函数吗?

最佳答案

Can a derived class access a base class constructor ?

是的。

struct Derived : public Base {
Derived(SomeType some_arg) : Base(something_extracted_from (some_arg)) {…}

“将值传递给基类构造函数”是派生类访问基类构造函数的机制。


Can a derived class access a base class destructor ?

是的,但这是一个非常糟糕的主意。与构造函数不同,析构函数有一个名称,这意味着它可以像普通成员函数一样被调用。 您不想这样做。底层 C++ 机制将在派生类的析构函数返回后调用基类析构函数。如果您的派生类析构函数显式调用基类析构函数,则基类析构函数将在析构过程中被调用两次。这是灾难的根源。

关于c++ - 派生类可以访问基类的构造函数和析构函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22138359/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com