2

私には2つのクラス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
}

ありがとう。

4

1 に答える 1

2
C itsC(String str1);

データ メンバーではなく、メンバー関数の宣言です。そのはず

C itsC;

次に、それを初期化できますA::A

A::A(String stra, String strb) : itsC(stra) { }
于 2012-05-14T00:35:12.367 に答える