2013-10-28 2 views
0

몇 가지 일을하는 클래스가 있습니다.초기화시 다른 클래스에 대한 참조

class ClassA 
{ 

public: 
    ClassA() 
    { 
     for (unsigned i = 0; i < MAX_PROCESS_ID; ++i) 
      processDB[i] = 0; 
    }; 

    virtual ~ClassA(){ }; 

    int  create(int pID); 
    bool check(int pID); 
    bool kill(int pID); 
    int  returnpDB(int pID); 

private: 
    bool saveProcess(int pID, int type); 

protected: 
    int pDB[MAX_PROCESS_ID]; 
}; 

그리고 내가하고 싶은 것은이 클래스를 다른 클래스에서 초기화하고 참조를 유지하는 것입니다. 예를 들어

:

class classB 
{ 

public: 
    classB(){}; 
    virtual ~classB(){ }; 

private: 

protected: 
    classA  &pm; 
}; 

내가 어떻게 할 수 있습니까? (가능하다면)

감사합니다!

답변

2
class classB 
{ 

public: 
    classB(classA& ref):pm(ref){}; 
    virtual ~classB(){ }; 

private: 

protected: 
    classA  &pm; 
}; 
+0

감사합니다! 마지막 질문 : 지금 내 주요 일을하는 클래스를 호출하고 있습니다 : ClassB가의 B; classAa (b); classA를 호출하는 방법이 있습니다. 클래스 코드 안에 classB에 대한 참조를 만드시겠습니까? – jsilva

+0

classA에 대한 기본 객체를 선언 할 수 있습니다 :'static classA default_obj;'를 빈 생성자에 주거나 기존 생성자에 기본값으로 사용합니다. 'classB (classA & ref = default_obj) : pm (ref) {}' – SHR

+1

감사합니다. 당신은 최고입니다 :) – jsilva

관련 문제