c++ - 一个类作为另一个类的数据成员

标签 c++ constructor datamember

我有两个类A和C,我需要在类A中将C的对象作为私有(private)成员。这是我的基本结构,我有以下问题:
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
}

谢谢。

最佳答案

C itsC(String str1);

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

C itsC;

然后你可以在A::A中初始化它

A::A(String stra, String strb) : itsC(stra) { }

关于c++ - 一个类作为另一个类的数据成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10576334/

相关文章:

c++ - 无法关闭 OPENFILENAME

c++ - 如何读取纹理数据以便进行编辑?

c++ - 无法在 C++ 类中创建构造函数

c++ - 如果C++构造函数不返回任何内容,如何在表达式中使用它?

c++ - 显式移动构造函数是否消除了隐式复制构造函数?

c++ - gcc 与 sleep_for 和 sleep_until 函数的可能问题

c++ - 如何在 Visual Studio 2017 中设置 SFML?

wcf - .NET 基类型不能被 WCF 序列化

c# - 无法创建字段 ""的子列表

c++ - 'const' 方法可以改变什么?