Code Archive/C++

Step6. 생성자와 소멸자

쌍큐 2018. 1. 24. 09:54

생성자는 클래스가 객체가 될때 제일 먼저 실행되는 함수이고, 오버로딩을 통하여 다양한 생성자를 만들어서 객체가 생성될 조건을 나타낼수 있다.

소멸자는 객체가 메모리에서 해제가 될때 마지막에 해야할 일들을 정의 해놓은 함수 이다.


생성자와 소멸자의 특징은 함수명이 클래스명이라는 것이고 함수명 앞에 붙는 리턴타입이 없으며 

소멸자는 함수명 앞에 ~이 붙는 것이 특징이다.

#include <iostream>

#include <cstring>

using namespace std;


class Person{

private:

char *name;

int age;


public:

//생성자

Person(char *n) 

name = new char[strlen(n)+1];

strcpy(name,n);

age = 0;

cout << name << " 생성" << endl;

}

Person(char *n, int a)

{

name = new char[strlen(n)+1];

strcpy(name,n);

age = a;

}

void PersonPrintInfo()

{

cout << "이름 : " << name << endl;

cout << "나이 : " << age << endl;

}

//소멸자

~Person()

{

cout << name << " 소멸" << endl;

delete[] name;

}



};


int main(void)

{

Person p("홍길동", 20);

p.PersonPrintInfo();

return 0;

}

'Code Archive > C++' 카테고리의 다른 글

STL. Set 기본 예제  (0) 2018.02.01
STL. List 기본 예제  (0) 2018.02.01
Step5. class 작성  (0) 2018.01.23
Step Ex. visual studio 2017 C++ 프로젝트 생성  (0) 2018.01.22
Step4. 참조자  (0) 2018.01.21