104 lines
1.3 KiB
C
104 lines
1.3 KiB
C
|
#include <iostream>
|
||
|
using namespace std;
|
||
|
|
||
|
class Shape
|
||
|
{
|
||
|
public:
|
||
|
Shape()
|
||
|
{
|
||
|
cout << "create Shape" << endl;
|
||
|
|
||
|
}
|
||
|
virtual ~Shape(){}
|
||
|
virtual void draw() = 0;
|
||
|
};
|
||
|
|
||
|
class Circle: public Shape
|
||
|
{
|
||
|
public:
|
||
|
Circle()
|
||
|
{
|
||
|
cout << "create Circle" << endl;
|
||
|
}
|
||
|
void draw()
|
||
|
{
|
||
|
cout << "draw Circle" << endl;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Square: public Shape
|
||
|
{
|
||
|
public:
|
||
|
Square()
|
||
|
{
|
||
|
cout << "create Square" << endl;
|
||
|
}
|
||
|
void draw()
|
||
|
{
|
||
|
cout << "draw Square" << endl;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Rectangle: public Shape
|
||
|
{
|
||
|
public:
|
||
|
Rectangle()
|
||
|
{
|
||
|
cout << "create Rectangle" << endl;
|
||
|
}
|
||
|
void draw()
|
||
|
{
|
||
|
cout << "draw Rectangle" << endl;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Color
|
||
|
{
|
||
|
public:
|
||
|
Color()
|
||
|
{
|
||
|
cout << "create Color" << endl;
|
||
|
}
|
||
|
virtual ~Color(){}
|
||
|
virtual void fill() = 0;
|
||
|
};
|
||
|
|
||
|
class Red: public Color
|
||
|
{
|
||
|
public:
|
||
|
Red()
|
||
|
{
|
||
|
cout << "create Red" << endl;
|
||
|
}
|
||
|
void fill()
|
||
|
{
|
||
|
cout << "fill Red" << endl;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Green: public Color
|
||
|
{
|
||
|
public:
|
||
|
Green()
|
||
|
{
|
||
|
cout << "create Green" << endl;
|
||
|
}
|
||
|
void fill()
|
||
|
{
|
||
|
cout << "fill Green" << endl;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class Blue: public Color
|
||
|
{
|
||
|
public:
|
||
|
Blue()
|
||
|
{
|
||
|
cout << "create Blue" << endl;
|
||
|
}
|
||
|
void fill()
|
||
|
{
|
||
|
cout << "fill Blue" << endl;
|
||
|
}
|
||
|
};
|