2012-05-14 3 views
2

두 클래스 A와 C가 있습니다. 클래스 A에서 private 멤버로 C 객체를 가져야합니다. 이것은 기본 구조이고 다음과 같은 문제가 있습니다 :
1. constructor에서 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 
} 

감사 아래와 같이 다음 오류 '인수 목록 누락 함수 호출'을 얻고있다.

+0

기간에를 초기화 할 수 있어야한다. – chris

답변

2
C itsC(String str1); 

데이터 멤버가 아니라 멤버 함수 선언입니다. 조성 : 그것은

C itsC; 

이 그럼 당신은 A::A

A::A(String stra, String strb) : itsC(stra) { } 
관련 문제