자세한 내용은 주석을 봅시다잉.
#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;
}
'공부 > C++' 카테고리의 다른 글
포인터의 종류 (0) | 2011.11.24 |
---|---|
흔하디 흔한 포인터의 개념 -1 (0) | 2011.11.24 |
생성자의 초기화 리스트 사용 예제 (0) | 2011.11.23 |
뇌를 자극하는 C++ 프로그래밍 복사 생성자 Exercise 21-2 (0) | 2011.11.23 |
뇌를 자극하는 C++ 프로그래밍 비타민 퀴즈 (0) | 2011.11.23 |