IT 정보/C언어

[C/C++/VC++/C언어]생성자의 다중 정의

김윤석 2007. 12. 18. 14:44

[C/C++/VC++/C언어]생성자의 다중 정의

 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어

---------------------   소         스    -------------------
#include<iostream.h>
class Master
{
public:
        Master();                                  <------------ 생성자1
        Master(int age, char *name, char *hobby); <----------생성자2
        ~Master();
        void itsSee();
private:
        int itsAge;
        char *itsName;
        char *itsHobby;
};


Master::Master()   <---------- 생성자1
{
        itsAge=25;
        char *name="운영자";
        char *hobby="스타크래프트";
        itsName=name;
        itsHobby=hobby;
}

Master::Master(int age, char *name, char *hobby) <---------- 생성자2
{
        itsAge=age;
        itsName=name;
        itsHobby=hobby;
}

Master::~Master()
{
}

void Master::itsSee()
{
        cout << "\n당신의 이름은 ";
        cout << itsName;
        cout << "입니다. ";
        cout << "\n당신의 나이는 ";
        cout << itsAge;
        cout << "입니다. ";
        cout << "\n당신의 취미는 ";
        cout << itsHobby;
        cout << "입니다.\n ";
}

void main()
{
                int age;
                char name[20], hobby[20];
        Master Han;  
                Han.itsSee();  
                cout << "당신의 나이를 입력하시오";
                cin >> age;
                cout << "당신의 이름을 입력하시오";
                cin >> name;
                cout << "당신의 취미를 입력하시오";
                cin >> hobby;
                       
                Master Han2(age,name,hobby);  
        Han2.itsSee();  
}
------------------------------------------------------------------

생성자의 다중정의를 알아봤습니다.
생성자의 다중정의는 사용자의 입력에 따라서 반응하는 클래스를 만들수도
있으며 사용자의 입력이 없이 개발자가 만들어 놓은 클래스를 만들수도
있습니다.

오늘 강좌에서는 생성자를 두개 써도 되는구나! 라는 것 정도만 아셨다면
넘어가셔도 될 것 같습니다.

소스는 이전 강좌를 통해서 계속 이어지는 것이므로.. 이해하고 따라오시리라
믿겠습니다.

추천학원:
http://www.it-bank.or.kr/prom/c_main.htm

 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어 C/C++/VC++/C언어