在下面的代码中,我期望得到5的输出,但是我得到了任意的垃圾。为什么x没有被设置为5?当我声明派生类对象并将x的值设置为5时,不会调用构造函数吗?如何将参数传递给C++中的基类构造函数
#include <iostream>
using namespace std;
class Base{
public:
int x;
Base(){
}
Base(int arg)
{
x = arg;
}
};
class Derived: public Base{
public:
Derived():Base(5){
}
};
int main() {
Base obj2;
Derived obj1;
cout << obj2.x;
return 0;
}
这篇文章为什么会被降低投票率?我需要知道,所以我可以写更好的问题! –
如果你将鼠标悬停在downvote附近的问题上,你可以看到它的原因是“不显示任何研究工作”。 –
@SaubhagyaSrivastava谢谢。在我问之前,我确实已经努力研究这个问题。我下次可以做什么来证明我已经投入了这一努力? –