gpt4 book ai didi

c++ - C++中基类构造函数是如何调用的

转载 作者:行者123 更新时间:2023-11-28 06:50:28 24 4
gpt4 key购买 nike

<分区>

我是c++新手我有 2 个关于如何调用基本构造函数的查询。

1.)假设我的代码看起来有点像这样。

#include<iostream>
using namespace std;

class Base {
public:
Base() { cout<<"Constructor: Base"<<endl; }
virtual ~Base() { cout<<"Destructor : Base"<<endl; }
};

class Derived: public Base {
public:
Derived() { cout<<"Constructor: Derived"<<endl; }
~Derived() { cout<<"Destructor : Derived"<<endl; }
};

int main() {
Base *Var = new Derived();
delete Var;
return 0;
}

有人告诉我,在通过初始化列表定义派生构造函数之前,必须显式调用基构造函数。但是这里没有调用基本构造函数,代码按预期工作。

**The output for the above problem is**

Constructor: Base
Constructor: Derived
Destructor : Derived
Destructor : Base

2.) 现在假设基类构造函数采用参数化参数,但派生构造函数为空。在主函数中,我声明了一个派生对象,没有给构造函数任何参数。会发生什么?有什么方法可以单独向该对象的基本构造函数传递参数?

谢谢。

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