#include <iostream>
using namespace std;
class A{
public:
A(){cout << "A()" << endl; }
A(string s): str(s){ cout << "A(" << str << ")" << endl; }
~A(){ cout << "delete!" << endl;}
string str = "000";
};
int main(int argc, char** argv)
{
//A a0; // it will call A() by default
A a1(); //even if i comment A(), the compiler will no warn me anything
A a2("123");
cout << a2.x << endl;
return 0;
}
輸出:但構造函數如何工作?
A(123)
123
delete!
所以,我只是想知道爲什麼 「A A1();」無法正常工作?有人可以幫助我嗎?謝謝!
拼寫錯誤'',而'A(字符串s)'指的是不存在的'x'變量。請發佈您的實際代碼。 –
jwodder
2014-11-21 17:26:23
這可能是重複的,但這不是真正正確的鏈接問題。 – 2014-11-21 17:28:45
@JamesCurran如果你有更好的一個,你可以重新打開它(然後再關閉,我想)。 – jrok 2014-11-21 17:29:36