#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 | 162 |
| 105 | rewind() 함수의 사용에 관하여 | 관리자 | 2024.03.13 | 107 |
| 104 | 일반화 함수의 사용3 | 관리자 | 2019.03.01 | 162 |
| 103 | 일반화 함수의 사용2 | 관리자 | 2019.02.28 | 162 |
| 102 | 일반화 함수 사용 | 관리자 | 2019.02.28 | 166 |
| 101 | 순수가상함수 사용 계산기 | 관리자 | 2019.02.27 | 214 |
| 100 | 순수가상함수 사용한 여러 도형의 넓이 구하기 | 관리자 | 2019.02.27 | 199 |
| 99 | 순수 가상함수 | 관리자 | 2019.02.27 | 163 |
| » | 가상소멸자 | 관리자 | 2019.02.27 | 149 |
| 97 | 가상함수 사용3 | 관리자 | 2019.02.27 | 155 |
| 96 | 가상함수의 사용2 | 관리자 | 2019.02.26 | 168 |
| 95 | 가상함수 사용1 | 관리자 | 2019.02.26 | 156 |
| 94 | 사각형정보 입력받아 파일에 출력하기 | 관리자 | 2019.02.26 | 220 |
| 93 | 파일 복사 | 관리자 | 2019.02.26 | 161 |
| 92 | 파일 출력 | 관리자 | 2019.02.26 | 154 |
| 91 | 조작자 생성2 | 관리자 | 2019.02.26 | 152 |
| 90 | 조작자 생성1 | 관리자 | 2019.02.25 | 154 |
| 89 | 입출력연산자 중복 | 관리자 | 2019.02.25 | 152 |
| 88 | 일반 출력설정 | 관리자 | 2019.02.25 | 154 |
| 87 | 조작자를 통한 출력 설정 | 관리자 | 2019.02.25 | 167 |
| 86 | 연산자 중복 - 차집합구하기 | 관리자 | 2019.02.25 | 281 |
| 85 | 연산자 중복-교집합과 합집합 구하기 | 관리자 | 2019.02.25 | 198 |
| 84 | 연산자 중복-스트림연산자 | 관리자 | 2019.02.21 | 161 |
| 83 | 연산자 중복-치환연산자 | 관리자 | 2019.02.20 | 294 |
| 82 | 연산자 중복-friend함수 사용 | 관리자 | 2019.02.20 | 159 |
| 81 | 연산자 중복-단항연산자 | 관리자 | 2019.02.20 | 209 |
| 80 | 연산자 중복-관계연산자 | 관리자 | 2019.02.20 | 153 |
| 79 | 연산자 중복-이항연산자 | 관리자 | 2019.02.20 | 178 |
| 78 | 함수 중복 이용한 숫자 차 계산 | 관리자 | 2019.02.19 | 164 |
| 77 | 함수 포인터와 함수 중복 | 관리자 | 2019.02.19 | 204 |