ÇÁ·Î±×·¡¹Ö

 3204, 1/161 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   jkh0721
   c++ µµÇü¹®Á¦

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=3430 [º¹»ç]



¾Æ·¡ Äڵ忡¼­ ¹ØÀ¸·Î ³»·Á°¡¸é void main()  ÆÄÆ®°¡ Àִµ¥ ±× ÆÄÆ®¸¸ ÁÖ¼® Á» ´Þ¾ÆÁÖ¼¼¿ä
³ª¸ÓÁø ÀÌÇØ°¡ °¡´Âµ¥ °Å±â¸¸ Àß ¸ð¸£°Ú¾î¿ä

#include <iostream>
#include <string>
using namespace std;

class Shape{
protected:
        int x, y;
public:
        virtual ~Shape() {}
        virtual void draw()=0;
};
class TwoDimShape:public Shape{
public:
        virtual double getArea()=0;
};
class ThreeDimShape:public Shape{
public:
        virtual double getVolume()=0;
};
class Rectangle : public TwoDimShape{
private:
        int width, height;
public:
        
        void setWidth(int w){width = w;}
        void setHeight(int h){height = h;}
        void draw() {cout << "Ractangle Draw"<<endl;}
        double getArea(){return width*height;}
};
class Ellipse : public TwoDimShape{
private:
        double LongAxis, ShortAxis;
public:
Ellipse() {}
        ~Ellipse() {}
        void setLongAxis(int l){LongAxis=l;}
        void setShortAxis(int s){ShortAxis=s;}
        void draw() {cout << "Ellipse Draw"<<endl;}
        double getArea(){return 3.14*LongAxis*ShortAxis/4;}
};
class Triangle : public TwoDimShape{
private:
        int width, height;
public:
        
        void setWidth(int w){width = w;}
        void setHeight(int h){height = h;}
        void draw() {cout << "Triangle Draw"<<endl;}
        double getArea(){return (double)width*height/2;}
};
class Shpere : public ThreeDimShape{
private:
        int radius;
public:
        void setRadius(int r){radius = r;}
        double getVolume(){return 3.14*radius*radius*radius*4/3;}
        void draw() {cout << "Shpere Draw"<<endl;}
};
class Cube : public ThreeDimShape{
private:
        int length;
        int width;
        int height;
public:
        void setLength(int l){length=l;}
        void setWidth(int w){width=w;}
        void setHeight(int h){height=h;}
        double getVolume(){return length*width*height;}
        void draw() {cout << "Cube Draw"<<endl;}
};
class Cylinder : public ThreeDimShape{
private:
        int radius;
        int height;
public:
        void setRadius(int r){radius = r;}
        void setHeight(int h){height = h;}
        double getVolume(){return 3.14*radius*radius*height;}
        void draw() {cout << "Cylinder Draw"<<endl;}
};
void main() {
        Shape *arrayOfShapes[6];
        arrayOfShapes[0] = new Rectangle;
        ((Rectangle*)arrayOfShapes[0])->setWidth(10);
        ((Rectangle*)arrayOfShapes[0])->setHeight(10);
        arrayOfShapes[1] = new Ellipse;
        ((Ellipse*)arrayOfShapes[1])->setLongAxis(10);
        ((Ellipse*)arrayOfShapes[1])->setShortAxis(10);
        arrayOfShapes[2] = new Triangle;
        ((Triangle*)arrayOfShapes[2])->setWidth(10);
        ((Triangle*)arrayOfShapes[2])->setHeight(10);
        arrayOfShapes[3] = new Shpere;
        ((Shpere*)arrayOfShapes[3])->setRadius(10);
        arrayOfShapes[4] = new Cube;
        ((Cube*)arrayOfShapes[4])->setWidth(10);
        ((Cube*)arrayOfShapes[4])->setHeight(10);
        ((Cube*)arrayOfShapes[4])->setLength(10);
        arrayOfShapes[5] = new Cylinder;
        ((Cylinder*)arrayOfShapes[5])->setRadius(10);
        ((Cylinder*)arrayOfShapes[5])->setHeight(10);
        cout << "¸ðµç±æÀ̹ÝÁö¸§°¡·Î¼¼·Î³ôÀÌÀDZæÀ̸¦10À̶ó°¡Á¤<<endl;
        for(int i=0; i<6;i++){
                arrayOfShapes[i]->draw();
                if(i<3) cout << "µµÇüÀdzÐÀÌ: " << ((TwoDimShape *)arrayOfShapes[i])->getArea() <<endl;
                else cout <<"µµÇüÀǺÎÇÇ: " << ((ThreeDimShape *)arrayOfShapes[i])->getVolume() <<endl;
        }
};

  Hit : 6454     Date : 2012/06/03 09:56



    
3204   Ä¡Æ®¿£Áø °í¼öºÐ °è½Ç±î¿ä[1]     rjsdudals123
02/15 225
3203   ¿À·ù Á» ã¾ÆÁÖ¼¼¿ä [1]     marunim
05/30 953
3202   c¾ð¾î segmentation fault:11 ¿À·ù Áú¹®µå¸³´Ï´Ù![2]     leebk1124
05/21 2032
3201   C++ÇÔ¼ö°ü·Ã Áú¹®ÀÌ¿¡¿ë!![3]     1999dylee
05/11 1860
3200   ÆÄÀ̽ã Áö¹® µå¸³´Ï´Ù.[1]     kksh1107
04/24 1600
3199   ¸®¹ö½ÌÀÇ ¼¼¹ø¤Š ²É - ¿ª¶û-     nninni79
04/20 2307
3198   ´Þ°í³ª ¹®¼­ ½©ÄÚµå[1]     ghjk645
03/24 1624
3197 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î ¼Ò¼ö °ª     adwefq
04/29 1
3196   C¾ð¾î ¼Ò½ºÁú¹®ÀÔ´Ï´Ù![5]     an0088
01/05 5179
3195   C++ /// ºôµå ¿¡·¯ ¤Ð¤Ð[1]     guichanta
08/23 2411
3194 ºñ¹Ð±ÛÀÔ´Ï´Ù  c¾ð¾î µµ¿ÍÁÖ¼¼¿ä¤Ð¤Ð     su6339
04/06 0
3193   ÇØÅ·À» ¹è¿ì·Á°íÇϴµ¥[3]     zoodem04
03/26 4188
3192   c¾ð¾î¸¦ ¹è¿ì°í½Í¾î¿ä ![7]     dwc07238
02/11 4099
3191   ½ºÅÃÀÌ ½×ÀÌ´Â ¹æÇâ¿¡ °üÇؼ­!![1]     hackxx123
12/10 3535
3190   ÇØÅ·Åø¿¡¼­ ip ¾øÀÌ Çϵ忡 ½É´Â°Å¿¡´Â ¾î¶²°Ô ÀÖÀ»±î¿ä?[2]     aowlrgmlals
11/27 4326
3189   C¾ð¾î Çϴµ¥ double ½Ç¼ö¸¦ ³ÖÀºµ¥ ÀÚ²Ù 0.0ÀÌ ³ª¿Í¿ä[2]     fatou10336
11/20 3787
3188   dumpcode.h ÀÌÇØÁ» µµ¿ÍÁÖ¼¼¿ä .[1]     cm6418
11/06 3760
3187   c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.[3]     alstn8150
10/12 3771
3186     [re] c¾ð¾î ¾Ë°í¸®Áò Áú¹®ÀÔ´Ï´Ù.     dafher
05/13 1599
3185   c¾ð¾î ¼Ò½º Áú¹® ¹¹°¡ ¹®Á¦ÀÎÁö¤Ì¤Ì¤Ì¤Ì[2]     sjjh96
05/23 4307
1 [2][3][4][5][6][7][8][9][10]..[161]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org