2012-11-24 7 views
1

Google에 대한 많은 여행으로 하루 종일 내 머리를 두드리는 소리가났습니다. 주 오브젝트가 생성자에서 여러 다른 오브젝트를 생성해야하는 마스터 오브젝트를 가지고 있는데, 주 ​​오브젝트는 생성자에서 생성 된 오브젝트에 전달되는 변수를 가져옵니다.생성자를 통해 객체 전달 변수에 객체 생성

class WorldManager{ 
    public: 
    WorldManager(int x, int y, int z){ 
    //do stuff 
    } 
} 

class GameManager{ 
    public: 
    WorldManager world; 
    GameManager(int x, int y, int z){ 
    world(x,y,z); 
    } 
} 

내가 얻을 내가 원하는 생각

+0

가 LOL, 내가 오류를 추가하는 것을 잊었다 좌절되었다. – FreakinaBox

+4

오류 메시지와 코드는 서로 관련이 없어 보입니다. 코드에는'GraphicsManager' 함수 나 클래스가 없습니다. –

+0

"관리자"객체와 일반적으로 코드 부분 간의 우위 관계를 생각하면이 작은 전문 지식보다 두통이 심할 것입니다. –

답변

3

세계 클래스의 생성자에 인수를 요청 전까지 작동

error: no matching function for call to `GAMEMANAGER::GraphicsManager(HWND__*&, int&, int&)' 

오류 :

class GameManager{ 
public: 
    WorldManager world; 
    GameManager(int x, int y, int z) : world(x, y, z) { } 
}; 

이상한에게 콜론 것은 초기화 목록이라고 부르며, 멤버 객체와 부모 클래스의 생성과 그게.


당신이 구축하고자하는 하나 이상의 개체가있는 경우 목록에 추가 :

class GameManager{ 
public: 
    WorldManager world1, world2; 
    GameManager(int x, int y, int z) : world1(x, y, z), world2(x, y, z) { } 
}; 
+0

@ 빌즈 왜 안 볼지 모르겠다. –

+0

나는 내가 만드는 3 가지 수업을 가지고있다. – FreakinaBox

+0

@billz 나는 이것이 그들이 찾고있는 것이라고 확신한다. – Xymostech