Lecture/객체지향프로그래밍및실습/draw
Retired DISLab
< Lecture | 객체지향프로그래밍및실습
Draw.h
#ifndef DRAW_H #define DRAW_H #include <stdio.h> class DrawObj { int a, b; public: virtual ~DrawObj() { } virtual void draw() =0; }; class Line : public DrawObj { int x, y; public: ~Line() { printf("Line::~\n"); } virtual void draw() { printf("Line::draw()\n"); } }; class Circle : public DrawObj { int z; public: ~Circle() { printf("Circle::~\n"); } void draw() { printf("Circle::draw()\n"); } }; #endif
Draw.cpp
#include "draw.h" void f(); int main(int argc, char **argv) { f(); return 0; } void f() { //DrawObj *p = new DrawObj(); DrawObj *obj[4]; obj[0] = new Line; obj[1] = new Circle; obj[2] = new Line; obj[3] = new Circle; for(int i = 0; i < 4; i++) { obj[i]->draw(); } for(i = 0; i < 4; i++) { delete obj[i]; } }