U E D R , A S I H C RSS

Hardcore Cpp Study/두번째숙제/Constructor And Destructor/변준원

~cpp 


class Test{
public:
Test();
~Test()



1. 생성자
클래스의 인스턴스가 생성되었을때에 즉, 객체가 생성될때 호출됩니다.
위에 간단한 코드에서 Test();가 생성자에 해당되며 Test obj1; 이라고
해당하는 함수나 메인에서 생성이될때 호출이 되죠. 이때, default 생성자와
인수값을 갖는 여러 생성자가 함께 올 수있으며 인수값에 따라서 호출되는 생성자가 달라집니다.

2. 소멸자
소멸자의 경우 ~Test(); 부분이 소멸자에 해당되고, 객체가 사라질때 호출되는데,
그 클래스의 인스턴스가 생성된 함수가 사라질때 자동적으로 사라지게 됩니다.
만일 메인함수에서 객체를 생성하였다면 메인함수가 사라질때 호출이 되고,
전역적으로 선언되어서 생성된경우는 프로그램이 종료시에 호출됩니다.

3. 복사생성자
클래스에서 절때 빼놓으면 안되는 경우로, 위에 간단한 코드에서 빼 놓았습니다.
대입연산자나 함수를 호출할때, new 연산자에 의해 생성됩니다.








생성자 3개중에 처음꺼만......

IntArray (int sz = defSize)
{
size = sz;
ia = new intsz;
}

소멸자는,
~IntArray()
{
delete [] ia;
}





(몬소리지;;)
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:21
Processing time 0.0116 sec