다음 코드를 수행하면 pure virtual function call 에러가 발생되면서 프로그램이 죽는다.
class A
{
public:
A() {
}
void intermediate_call() {
// Bad: virtual function call during object destruction
virtual_function();
}
virtual void virtual_function() = 0;
virtual ~A() {
intermediate_call();
}
};
class B : public A
{
public:
// override virtual function in A
void virtual_function()
{
printf("B::virtual_function called\n");
}
};
B myObject;
// This call behaves like a normal virtual function call.
// Print statement shows it invokes B::virtual_function.
myObject.virtual_function();
'I ♥ Programming' 카테고리의 다른 글
| Nuget 패키지 관리자 "사용 가능한 패키지 소스" 수동 추가 방법 (0) | 2020.03.16 |
|---|---|
| opencv cv::Mat 클래스 초기화 방법 및 사용 방법 (0) | 2018.05.09 |
| [펌] 메모리릭 위치 알아내기. (발생 위치에 Breakpoint) (0) | 2016.12.27 |
| JScript라는 Windows용 Script Host에서 메시지 박스 출력하기 (0) | 2016.04.08 |
| Visual C++ 2013에서 리소스 ID 충돌 재배치 하는 프로그램 (이전 버전도 됨) (0) | 2015.07.18 |
