Lecture/객체지향프로그래밍및실습/draw

Retired DISLab
이동: 둘러보기, 찾기

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];
    }
}
개인 도구
이름공간
변수
행위
둘러보기
구성원
연구
연구실
기타
도구모음
인쇄/내보내기