2012-04-23 3 views
0

여기에 문제가 있습니다. 두 클래스 A와 B가 있습니다. 클래스 A는 클래스 B를 사용하고 다른 클래스는 클래스 B의 인스턴스를 만들지 않습니다. 클래스 A 만 클래스 B의 인스턴스를 만들 수 있습니다.싱글 톤이 아닌 단일 인스턴스가 필요합니다.

시간, 나는 B의 싱글 톤 인스턴스를 원하지 않고 클래스 A 안에 클래스 B를 정의하고 싶지 않습니다.

도움이됩니다.

미리 감사드립니다.

-Harsha

+1

이 C++입니까? 아니면 Java입니까? 아니면 다른 객체 지향 언어입니까? –

답변

0

정말 문제를 이해하지 않는,하지만 당신은 단지를 만들 수 없습니다, 따라서 매우 다른 클래스도 정의를 볼 것이다, 클래스 A와 같은 .cpp 파일에 클래스 B를 정의 할 수 클래스 B의 인스턴스, 예 당신은 별도의 파일로 클래스 B를 원하는 경우

a.hpp

class B; 

class A { 
    B *b; 
    A(); 
    ... 
}; 

a.cpp

#include <a.hpp> 

class B 
{ 
    ... 
}; 

A::A() 
{ 
    b = new B(); 
} 

A::~A() 
{ 
    delete B; 
} 

, 당신은 b.cpp에 넣어하고이 파일을 포함 할 수있다 .cpp. B의 생성자를 private로 설정하고 friend classes을 사용할 수도 있습니다.

관련 문제