생성자란?
-> 생성자라는 말을 처음 듣게 되었을것입니다.
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);
}
멤버변수가 외부접근 금지여도 생성자를 통해서 초기화가 가능하다 !!!
'Soft Ware > C++ 언어!!' 카테고리의 다른 글
this 키워드 !! (0) | 2011.10.06 |
---|---|
소멸자!! (0) | 2011.10.06 |
정보 은닉과 캡슐화 (0) | 2011.10.05 |
oop_01 (0) | 2011.10.04 |
C++의 함수 오버로딩!! (0) | 2011.10.04 |