공부/C++
인자를 사용한 멤버 초기화 리스트 사용
졸가메
2011. 11. 23. 15:25
자세한 내용은 주석을 봅시다잉.
#include <iostream>
#include <iostream>
using namespace std;
class NeedConstructor
{//클래스 정의.
public:
const int maxCount; //const속성
int& ref; //레퍼런스 타입
int sample;
NeedConstructor(); //여기까지 진행하면 원래 값이 무엇이 되든 100,200 이 되지만.
NeedConstructor(int count, int& number);//두개의 인자가 있는 생성자를 추가했다.[이름은 같지만 함수는 다름.]
};
NeedConstructor::NeedConstructor(int count, int& number)
: maxCount(count), ref(number)
{
printf("인자 사용 생성자의 사용 확인메시지");
sample = 200;//무의미한 심플 값의 대입(이유는 이미 여기에선 심플값을 받아서 돌려주는 행위를 하지 않기 때문.)
}
NeedConstructor::NeedConstructor()
: maxCount(100), ref(sample) // 이 부분에서 정해주는것이 생성자의 초기화 리스트 이다.
{
printf("초기화 사용 생성자의 확인 메시지");
sample = 200; // sample값을 넣어준다.
}
int main()
{
int number = 400;
NeedConstructor cr(300,number);// 여기에 객체를 설정하며 인자를 넣음으로써 인자 사용 생성자 멤버 변수를 사용하게된다.
cout << "cr.maxCount = " << cr.maxCount << "\n";
cout << "cr.ref = " << cr.ref << "\n";
system("pause");//비쥬얼 스튜디오 2008 부터는 디버깅시에 이 문구를 사용하지 않을 시에 바로 디버깅이 종료되어버림.
return 0;
}