在下面的代碼中,我期望得到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謝謝。在我問之前,我確實已經努力研究這個問題。我下次可以做什麼來證明我已經投入了這一努力? –