목록으로 2013.04.10. 20:24
C언어

도형의 상속구조

youtube
#include <iostream>
#include <string>
using namespace std;
class Shape 
{
  protected:
    int x, y; 
  public:
    Shape(int x=0, int y=0) { this->x=x, this->y=y; } 
    void setOrigin(int x, int y) { this->x=x, this->y=y;}
    void draw() { cout<<"Shape draw"<<endl; }
    void printPosition() { cout<<" x : "<<x<<" y : "<<y<<endl; }
};

class Rectangle : public Shape 
{
private: 
        int width, height;
public: 
    Rectangle (int x=0, int y=0, int w=5, int h=10) : Shape(x,y)
        {width=w; height=h;}
        void setWidth(int w){width=w;}
    void setHeight(int h) { height=h; }
    void draw() { cout<<"Rectange draw"<<endl; }
    void printPosition() {Shape :: printPosition();  cout<<"width : "<<width<<" height : "<<height<<endl;}
};

int main() 
{
    Rectangle *pr = new Rectangle(); // 동적으로 객체 생성 
        
        

    pr->printPosition();      // 정보 출력
    pr->setOrigin(10,10);  // x를 10, y를 10으로 변경
    pr->printPosition();   // 정보 출력
    pr->setWidth(100);  // width를 100으로 변경
    pr->setHeight(200);  // height를 200으로 변경
    pr->printPosition();  // 정보 출력

    delete pr;
}

댓글 0

댓글 작성 권한이 없습니다. 로그인하기

NO
TITLE
섬네일
profile 너에게제공 | 11. 09 | 조회
1