0
내 utils 클래스에서 개인 솔루션 디렉토리 문자열이 있습니다.이 속성은 생성자 (하드 코드 된)에 설정됩니다. 문자열을 반환하는 getter 함수가 있습니다. 다른 파일에는 utils 인스턴스 (포인터)가 있습니다. getter 함수를 호출하면 빈 함수를 반환합니다.Getter 함수가 잘못된 값을 반환합니까?
MAIN.CPP
utils* myUtils = new utils();
std::cout << myUtils->getSolutionDir() + " is the current directory" << std::endl;
delete myUtils;
utils.hpp
public:
utils();
~utils();
std::string getSolutionDir();
private:
std::string _solutionDir;
utils.cpp
utils::utils() {
std::string _solutionDir = "C:\\Users\\user\\Documents\\Coding\\CodeBlocks\\MettaRPG";
}
utils::~utils() {}
std::string utils::getSolutionDir() {
return _solutionDir;
}
가 OUTPUT (GCC 컴파일러)
가 t 인 그는 현재 디렉토리
'표준 : : 문자열 _solutionDir'는 멤버 변수를 그림자. 타입 선언을 생략하십시오. –
여기에'new'와'delete'를 왜 사용합니까? 'utils myUtils;'도'delete'도하지 않아도 될 것입니다. – user463035818
myUtils를 의존성 주입으로 다른 클래스에 전달하고 싶었습니다. 성능 향상에 도움이된다고 생각했습니다. – Melkor