1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
#include "stdafx.h" #include <stdio.h> #define DEBUG class CBase{ public: CBase(){ DoVirtual();//가상함수를 호출 X } ~CBase(){ DoVirtual();//가상함수를 호출 O } void DoIt() { DoVirtual();//가상함수를 호출 O } virtual void DoVirtual() { printf("CBase\n"); } }; class CDerive : public CBase { public: virtual void DoVirtual() { printf("CDerive\n"); } }; void main() { CDerive b; b.DoIt(); #ifdef DEBUG //cmd char e; scanf("%c",&e); #endif } |