#include <iostream>
#include <string.h>
using namespace std;
class BaseClass{
private:
char* mClassName;
public:
BaseClass(){
cout<<"BaseClass is created...\n";
mClassName=NULL;
}
~BaseClass(){
cout<<"BaseClass is destroyed...\n";
if(mClassName!=NULL){
delete mClassName;
}
}
virtual void Useit(){
mClassName = new char[20];
strcpy(mClassName,"BASE_CLASS");
cout<<"Class Name is "<<mClassName<<endl;
}
};
class UsingClass : public BaseClass{
char*mAlias;
public:
UsingClass(){
cout<<"UsingClass is created...\n";
mAlias = NULL;
}
~UsingClass(){
cout<<"UsingClass is destroyed...\n";
if(mAlias!=NULL){
delete mAlias;
}
}
void Useit(){
BaseClass::Useit();
mAlias = new char[10];
strcpy(mAlias,"DELTA");
cout<<"Alias is "<<mAlias<<endl;
}
};
int main(){
BaseClass* bc =new UsingClass();
bc->Useit();
delete bc;
}
----------------------------------------------------------------------
위코드로 실행하면 UsingClass의 소멸자는 동작하지 않는다 이럴경우 메모리 누수가 생기므로 BaseCass의 소멸자를
virtual~BaseClass(){}처럼 바꾸어야 한다.
댓글 0
번호 | 제목 | 글쓴이 | 최근 수정일 | 조회 수 |
---|---|---|---|---|
공지 | 안내사항 | 관리자 | 2019.12.21 | 159 |
105 | rewind() 함수의 사용에 관하여 | 관리자 | 2024.03.13 | 101 |
104 | 일반화 함수의 사용3 | 관리자 | 2019.03.01 | 158 |
103 | 일반화 함수의 사용2 | 관리자 | 2019.02.28 | 158 |
102 | 일반화 함수 사용 | 관리자 | 2019.02.28 | 153 |
101 | 순수가상함수 사용 계산기 | 관리자 | 2019.02.27 | 210 |
100 | 순수가상함수 사용한 여러 도형의 넓이 구하기 | 관리자 | 2019.02.27 | 191 |
99 | 순수 가상함수 | 관리자 | 2019.02.27 | 157 |
» | 가상소멸자 | 관리자 | 2019.02.27 | 146 |
97 | 가상함수 사용3 | 관리자 | 2019.02.27 | 152 |
96 | 가상함수의 사용2 | 관리자 | 2019.02.26 | 165 |
95 | 가상함수 사용1 | 관리자 | 2019.02.26 | 152 |
94 | 사각형정보 입력받아 파일에 출력하기 | 관리자 | 2019.02.26 | 205 |
93 | 파일 복사 | 관리자 | 2019.02.26 | 156 |
92 | 파일 출력 | 관리자 | 2019.02.26 | 151 |
91 | 조작자 생성2 | 관리자 | 2019.02.26 | 149 |
90 | 조작자 생성1 | 관리자 | 2019.02.25 | 151 |
89 | 입출력연산자 중복 | 관리자 | 2019.02.25 | 149 |
88 | 일반 출력설정 | 관리자 | 2019.02.25 | 151 |
87 | 조작자를 통한 출력 설정 | 관리자 | 2019.02.25 | 162 |
86 | 연산자 중복 - 차집합구하기 | 관리자 | 2019.02.25 | 276 |
85 | 연산자 중복-교집합과 합집합 구하기 | 관리자 | 2019.02.25 | 194 |
84 | 연산자 중복-스트림연산자 | 관리자 | 2019.02.21 | 150 |
83 | 연산자 중복-치환연산자 | 관리자 | 2019.02.20 | 289 |
82 | 연산자 중복-friend함수 사용 | 관리자 | 2019.02.20 | 154 |
81 | 연산자 중복-단항연산자 | 관리자 | 2019.02.20 | 205 |
80 | 연산자 중복-관계연산자 | 관리자 | 2019.02.20 | 149 |
79 | 연산자 중복-이항연산자 | 관리자 | 2019.02.20 | 175 |
78 | 함수 중복 이용한 숫자 차 계산 | 관리자 | 2019.02.19 | 159 |
77 | 함수 포인터와 함수 중복 | 관리자 | 2019.02.19 | 199 |