본문 바로가기

소멸

항목 9. 객체 생성 및 소멸 과정중에는 절대 가상 함수를 호출하지 말자!!! 일단은 객체의 생성 과정중에 가상함수를 호출 하면 어떤일이 발생하는지 알아 보겠는데, 그전에 객체의 생성과정중 객체 생성 순서를 알아 보도록 하겠습니다. #include using namespace std; class Base { public: Base(){cout 더보기
[C++] Virtual 소멸자 곧바로 예제부터 보자. #include using namespace std; class AAA { char* str1; public: AAA(char* _str1){ str1= new char[strlen(_str1)+1]; strcpy(str1, _str1); } ~AAA(){// virtual ~AAA() cout 더보기
[C++] 생성자와 소멸자 (Constructor & Destructor) - 두번째 저번 포스팅에 이어 두번째로 이번에는 소멸자에 대해서 얘기해 보겠습니다. 우선 소멸자를 이야기 하기 전에 객체가 소멸되는 시점에 관해서 언급 해보도록 하죠. * 객체가 소멸되는 시점 : 함수 내에 지역적으로 변수가 선언되면 함수 호출이 끝남과 동시에 소멸이 된다. 이와 마찬가지로 객체도 함수내에서 선언된다고 하면, 함수 호출이 끝나면 소멸되게 된다. * 전역적으로 선언된 객체 : 전역변수는 프로그램 시작과 동시에 메모리에 올라갔다가, 프로그램이 종료될때 소멸된다. 객체도 마찬가지로 똑같은 동작을 하지만, 객체는 이렇게 생성할 일은 거의 없다고 보면 된다. * 전역 : 일반적인 객체지향에 전역이란 개념은 존재 하지 않는다. 이를 대신하기 위한 static 멤버 변수, 멤버 함수가 존재 한다. (이거 대해서.. 더보기