나는 프로그램의보기 클래스에서 선언 된 std::string
개체가 있습니다.어떻게하면 mfc 응용 프로그램의 시작 변수를 초기화합니까
//puzzleView.h
public:
std::string currentState; // stores the current state of the blocks
실행 초기에 특정 값으로 초기화하고 싶습니다. 하지만 초기화는 어디에서합니까?
나는 프로그램의보기 클래스에서 선언 된 std::string
개체가 있습니다.어떻게하면 mfc 응용 프로그램의 시작 변수를 초기화합니까
//puzzleView.h
public:
std::string currentState; // stores the current state of the blocks
실행 초기에 특정 값으로 초기화하고 싶습니다. 하지만 초기화는 어디에서합니까?
"실행 시작"으로 가정합니다. 이 문자열을 기본보기의 데이터 멤버로 선언했다면 뷰 클래스 생성자에서 초기화해야합니다 - CPuzzleView::CPuzzleView()
함수 본체 (뷰 클래스 이름은 CPuzzleView
입니다). 이것은 가장 일반적인 경우입니다 :
// #1 Using initialization list
CPuzzleView::CPuzzleView(): currentState("No state")
{
}
// #2 Using assignment in ctor body. Also valid, but case #1 is preferable
CPuzzleView::CPuzzleView()
{
currentState = "No state";
}
당신이 main()
기능이 시작되기 전에, 당신이 그것을 static
를 선언하고 .cpp
파일의 전역 범위, 예를 들어,에 초기화된다는 초기화 할 필요가있는 경우 puzzleView.cpp
. 그러나 그러한 교육 목적 (?) 작업을 위해 정말로 필요하다고 생각하지 마십시오.
또한 MFC/ATL 응용 프로그램에서 std::string
대신 MFC CString
클래스를 사용하는 것이 더 일관성이 있다는 것을 언급하고자합니다. 다른 문자열 유형을 혼합하지 않고 불필요한 변환을 방지합니다.
.cpp 파일의 문자열을 초기화해야합니다.
생성자에서 수행 – Jeeva
'실행의 시작 '이란 무엇을 의미합니까? 뷰의 생성자에서 값을 할당하는 것이 너무 늦게 발생합니까? –