我有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