나는 다음과 같은 문제를 (단지 학습 OOP 스타일의 C++를) 한 : 나는 3 종류가 있습니다모든 구성원이 액세스 할 수 있어야하는 데이터를 저장하는 방법은 무엇입니까?
- 응용 프로그램
- objectManager을
- 객체
응용 클래스는 시작 변수를 설정하고 생성 objectManager의 인스턴스 이 함수는 objectManager에 다른 파일의 값을로드하고 각 객체에 필요한 데이터를 벡터에 미리 계산하도록 지시합니다.
내 문제는 다음과 같습니다. 각 개체에 액세스 할 수있는 미리 계산 된 벡터를 사용하고 싶습니다. 관리자의 인스턴스에 대해 전혀 아는 바가 없으므로 객체에서이 변수에 어떻게 액세스 할 수 있는지 이해할 수 없습니다.
약 싱글 톤에 대해 읽었지만 어떻게 구현해야하는지 잘 모릅니다.
나는에 대해 정적 데이터 멤버를 읽었지만 AFAIK는 여전히 objectManager 인스턴스에 연결해야하므로 AFAIK가 도움이되지 않습니다.
전 세계 변수 (0120)을 시도했지만 컴파일 오류가 발생했습니다.
나는 objectManager.h (? 그것이 글로벌 경우)에 클래스 정의 외부 정적 변수를 넣어 시도했습니다, 나는 이상한 뭔가 결국 : 나는 모든 부분에서 변수에 액세스 할 수 있습니다 이 프로그램에는 objectManager.h가 포함되어 있지만 값은 다른 클래스에서 다르기/초기화되지 않았습니다.
objectManager.h
#pragma once
#include "Object.h"
static int xxxtest;
class objectManager
{
object.cpp 또는 app.cpp에서 (후)
cout << xxxtest << endl;
-> 0
당신이 나에게 설명 할 수있는 동안 objectManager.cpp이
xxxtest = 123456;
cout << xxxtest << endl;
-> 123456
것입니다 여기서 일어나는거야?
미리 계산 된 변수를 프로그램의 다른 부분에 액세스 할 수있게 만드는 동안 이러한 프로그램을 간단하고 깨끗하게 구성하는 방법을 권할 수 있습니까?
'object'와'objectManager'의 관계는 무엇입니까? 'object'와'app'의 관계는 무엇입니까? – jxh
응용 프로그램은 하나의 objectmanager (편도)를 호출하고 objectmanager는 많은 객체를 만들고 objectmanager에서이 미리 계산 된 벡터에 객체가 액세스해야합니다 (양방향) – zsero