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

#include<iostream>
using namespace std;
class A
{
int i ;
public :
A (int x )
{
i=x ;
}
} ;
class B
{
A aa();//这个地方!!这一行这样写运行没有错误
//如果这一行换成A aa(6);运行有错误,为什么呀??

};

int main ( )
{
B b;

return 0;
}
或者大家可以教我点类似这个问题的别的知识 谢谢

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){}    // 类的成员变量必须在构造函数
                          // 初始化列表或者函数中初始化
};

温馨提示:答案为网友推荐,仅供参考
相似回答