Soft Ware/C++ 언어!!
생성자!!
달려가보자
2011. 10. 6. 00:23
생성자란?
-> 생성자라는 말을 처음 듣게 되었을것입니다.
C언어에서는 존재하지 않고 C++에서 존재하는 것으로 클래스를 선언 하고 객체를 생성할때
자동으로 생성 및 사용자에 의해 정의할수 있는데요.
좀더 알아보기 전에 객체가 할때 무슨일이 발생하는지 부터 알아보겠습니다.
객체를 생성했을시 먼저 메모리 공간을 확보하고 생성자라는것이 실행됩니다.
예제를 통해서 알아보겠습니다.
class Song
{
int a;public:Song(){cout<<"생성자";}
};
int main()
{
Song j;return 0;
}
이 소스를 실행 시켜보면 생성자라는 출력이 콘솔에 뜰것이다. 맞나요? ㅎㅎㅎ;;;
우리는 Song 이라는 함수를 부르지 않았다.....
그렇다 생성자는 클래스와 이름이 같다 !!!!
사용자가 생성자를 정의하지 않아도 디폴트 생성자가 실행된다.
생성자가 생성되는 시점은
메모리 할당 -> 생성자 호출 ok?
그럼 생성자로 무엇을 할수 있을까요????..........................
생성자를 이용하여 클래스 멤버 변수를 초기화 할수 있다.
#include <iostream>
class AAA
{
int Data;public:
AAA(int _data){
Data = _data;
}
}
int main()
{
AAA aaa(5);
}
멤버변수가 외부접근 금지여도 생성자를 통해서 초기화가 가능하다 !!!