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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | #include <stdio.h> #define EXAM_1 (1) #if(EXAM_1) class Item // 추상 클래스 { public: virtual void Show() = 0; // 순수 가상함수 }; class _File : public Item { public: virtual void Show() { printf("_FILE\n"); } }; class Folder : public Item { public: virtual void Show() { printf("Folder\n"); } }; #else class Item { public: void Show() { printf("Item\n"); } }; class _File : public Item { public: void Show() { printf("_FILE\n"); } }; class Folder : public Item { public: void Show() { printf("Folder\n"); } }; #endif int main() { #if(EXAM_1) Item **p = new Item * [3]; for (int i = 0; i < 3; ++i) { if (i % 2 == 0) p[i] = new _File(); else p[i] = new Folder(); p[i]->Show(); } for (int i = 0; i < 3; i++) { delete p[i]; p[i] = NULL; } delete[]p; #else Item *p[3]; for (int i = 0; i < 3; ++i) { if (i % 2 == 0) p[i] = new _File(); else p[i] = new Folder(); p[i]->Show(); } for (int i = 0; i < 3; i++) { delete p[i]; p[i] = NULL; } #endif return 0; } | cs |

'C++ > C++ 코드 기록' 카테고리의 다른 글
실행중인 프로세스 목록 가져오기 (0) | 2023.04.10 |
---|---|
화면 캡처 (.png파일로 저장) (0) | 2022.12.26 |
32bit 프로세스가 System32 폴더에 접근 하는 방법 (0) | 2022.11.04 |
디렉터리에 파일 나열 (0) | 2022.11.04 |
레지스트리 값 구하는 방법 (0) | 2022.11.04 |