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

#include<iostream>usingnamespacestd;classA{inti;public:A(intx){i=x;}};classB{Aaa();//... #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;
}
或者大家可以教我点类似这个问题的别的知识 谢谢
展开
 我来答
百度网友bb29ad2
推荐于2018-04-05 · TA获得超过2271个赞
知道小有建树答主
回答量:890
采纳率:33%
帮助的人:219万
展开全部
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){}    // 类的成员变量必须在构造函数
                          // 初始化列表或者函数中初始化
};
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式