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);
}

멤버변수가 외부접근 금지여도 생성자를 통해서 초기화가 가능하다 !!!

'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