c++中怎么在一个类中实例化另一个类?代码如下,问题在代码注释中,谢谢

2024-12-02 03:30:55
推荐回答(1个)
回答1:

class B 

A aa();//这个地方!!这一行这样写运行没有错误  
               //如果这一行换成A aa(6);运行有错误,为什么呀??

}; 

A aa();// 因为编译器把它当成了一个函数了 函数名为aa,返回值类型为A;

//如果这一行换成A aa(6);运行有错误,为什么呀??
同样被当成函数了,A为返回值类型,aa为函数名,参数表你给一个常数6当然报错啦。

正确的方法是
class B 

A aa;
public:
    B(){}
    B(int a) : aa(a){}    // 类的成员变量必须在构造函数
                          // 初始化列表或者函数中初始化
};