프로그래밍/c++

[c++] class의 생성자 및 소멸자

rrruu 2018. 12. 19. 11:34
반응형

생성자란? 객체 선언시 실행되는 매소드이다.

생성자를 통하여 맴버 변수의 값을 초기화 할 수 있으며 다양한 방법으로 활용이 가능하다.

생성자는 오버로딩을 통하여 여러개 정의 할 수 있으며 객체선언시 파라미터를 통하여 해당 생성자를 호출한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
class test_class{
public:
    int value;
    test_class()//생성자 정의
    {
        this->value = 1;
    }
};
 
int test_fnc()// 테스트 함수 
{
    test_class test; //test_class 객체 선언 생성자 호출
    return test.value; //생성자에서 value값을 1로 초기화 하였기 때문에 1이 리턴이 된다.
cs


반대로 소멸자는 객체가 소멸할때에 실행되는 메소드 이다.

~를 앞에 붙여서 정의하며 인자를 가질수 없다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class test_class{
public:
    int value;
    test_class()//생성자 정의
    {
        this->value = 1;
    }
    ~test_class()//소멸자 정의
    {
        std::cout<<"소멸";
    }
};
 
int test_fnc()// 테스트 함수 정의
{
    test_class *test; //test_class 포인터 선언
    test = new test_class(); // 동적할당으로 객체생성 //생성자 호출
    delete test;// 객체 소멸 소멸자 호출
    return 0
cs






반응형