一个类作为另一个类的数据成员

时间:2012-05-14 00:33:26

标签: c++ constructor datamember

我有两个A和C类,我需要在A类中将C的对象作为私有成员。这是我的基本结构,我有以下问题:
1.如何在构造函数中创建itsC对象?
2.我收到以下错误'函数调用缺少参数列表',如下所示

C::C(String strc) 
    {    
    //do something  
    }  


Class A  
{  
public:  
A(String stra, String strb)  ;  
~A();  
C GetC();   //method

private:  
C itsC(String str1);   //data member
}


A::A(String stra, String strb)  
{    
  //create object itsC  
  //strb is needed for str1   
}  

C A::GetC()  
{  
  return itsC;  //error::function call missing argument list
}

感谢。

1 个答案:

答案 0 :(得分:2)

C itsC(String str1);

是成员函数声明,而不是数据成员。它应该是

C itsC;

然后您可以在A::A

中初始化它
A::A(String stra, String strb) : itsC(stra) { }