我感到困惑下,爲什麼它會調用第一個構造程序。爲什麼這個構造函數被調用?
class A
{
public:
A(const char *c="\0")
{
cout<<"Constructor without arg";
}
A(string c)
{
cout<<"New one";
}
};
int main()
{
A a="AMD";
return 0;
}
輸出是 Constructor without arg
爲什麼你有兩個構造函數,基本上做同樣的事情(接受一個字符串作爲參數)?讓調用者將參數轉換爲C或C++字符串,以便在這裏只需要一個構造函數。 – user1040229