我有2個類A和B.我試圖用B類的默認構造函數來調用類A的默認構造函數來初始化類A中的值B.C++一個類的默認構造函數調用另一個類的另一個默認構造函數
class A
{
A();
int x;
}
A::A()
{
//initialized x
x=10;
}
class B
{
B();
A aobj;
}
B::B()
{
//Calling class A's default constructor to initialize B's aobj.
aobj();
}
我收到了'(aobj)'的不匹配呼叫。請幫我解決。
您不是調用'A'的構造函數,而是試圖調用不存在的函數調用操作符('A :: operator()()')。構造函數是未命名的特殊成員函數,不能像這樣直接訪問。 – 2014-10-27 15:20:45
也許你應該熟悉[成員初始值列表](http://en.cppreference.com/w/cpp/language/initializer_list)。 – Sambuca 2014-10-27 15:25:34