练习65
来源:互联网 发布:小米note3网络设置 编辑:程序博客网 时间:2024/05/01 06:18
#include <iostream>
using namespace std;
class Shape
{
public:
Shape(){}
~Shape(){}
virtual float getArea() =0 ;
virtual float getPerim () =0 ;
virtual int getVertexCount() const=0;
};
class Circle : public Shape
{
public:
Circle(float radius):itsRadius(radius){}
~Circle(){}
float getArea() { return 3.14 * itsRadius * itsRadius; }
float getPerim () { return 6.28 * itsRadius; }
virtual int getVertexCount() const{return 0;}
private:
float itsRadius;
};
class Rectangle : public Shape
{
public:
Rectangle(float len, float width): itsLength(len), itsWidth(width){};
~Rectangle(){};
virtual float getArea() { return itsLength * itsWidth; }
float getPerim () { return 2 * itsLength + 2 * itsWidth; }
virtual float GetLength() { return itsLength; }
virtual float GetWidth() { return itsWidth; }
virtual int getVertexCount() const{return 4;}
protected:
float itsWidth;
float itsLength;
};
class Square: public Rectangle
{
public:
Square (float len): Rectangle(len, len){};
~Square(){};
virtual float getArea() { return itsLength * itsWidth; }
float getPerim () { return 2 * itsLength + 2 * itsWidth; }
virtual float GetLength() { return itsLength; }
virtual float GetWidth() { return itsWidth; }
virtual int getVertexCount() const{return 4;}
};
int main()
{
Shape * sp;
sp = new Circle(5);
cout << "The area of the Circle is " << sp->getArea () << endl;
cout << "The perimeter of the Circle is " << sp->getPerim () << endl;
cout << "The vertex count of the Circle is " << sp->getVertexCount() << endl;
delete sp;
sp = new Rectangle(4,6);
cout << "The area of the Rectangle is " << sp->getArea() << endl;
cout << "The perimeter of the Rectangle is " << sp->getPerim () << endl;
cout << "The vertex count of the Rectangle is " << sp->getVertexCount() << endl;
delete sp;
sp = new Square(6);
cout << "The area of the Square is " << sp->getArea() << endl;
cout << "The perimeter of the Square is " << sp->getPerim () << endl;
cout << "The vertex count of the Square is " << sp->getVertexCount() << endl;
delete sp;
return 0;
}
using namespace std;
class Shape
{
public:
Shape(){}
~Shape(){}
virtual float getArea() =0 ;
virtual float getPerim () =0 ;
virtual int getVertexCount() const=0;
};
class Circle : public Shape
{
public:
Circle(float radius):itsRadius(radius){}
~Circle(){}
float getArea() { return 3.14 * itsRadius * itsRadius; }
float getPerim () { return 6.28 * itsRadius; }
virtual int getVertexCount() const{return 0;}
private:
float itsRadius;
};
class Rectangle : public Shape
{
public:
Rectangle(float len, float width): itsLength(len), itsWidth(width){};
~Rectangle(){};
virtual float getArea() { return itsLength * itsWidth; }
float getPerim () { return 2 * itsLength + 2 * itsWidth; }
virtual float GetLength() { return itsLength; }
virtual float GetWidth() { return itsWidth; }
virtual int getVertexCount() const{return 4;}
protected:
float itsWidth;
float itsLength;
};
class Square: public Rectangle
{
public:
Square (float len): Rectangle(len, len){};
~Square(){};
virtual float getArea() { return itsLength * itsWidth; }
float getPerim () { return 2 * itsLength + 2 * itsWidth; }
virtual float GetLength() { return itsLength; }
virtual float GetWidth() { return itsWidth; }
virtual int getVertexCount() const{return 4;}
};
int main()
{
Shape * sp;
sp = new Circle(5);
cout << "The area of the Circle is " << sp->getArea () << endl;
cout << "The perimeter of the Circle is " << sp->getPerim () << endl;
cout << "The vertex count of the Circle is " << sp->getVertexCount() << endl;
delete sp;
sp = new Rectangle(4,6);
cout << "The area of the Rectangle is " << sp->getArea() << endl;
cout << "The perimeter of the Rectangle is " << sp->getPerim () << endl;
cout << "The vertex count of the Rectangle is " << sp->getVertexCount() << endl;
delete sp;
sp = new Square(6);
cout << "The area of the Square is " << sp->getArea() << endl;
cout << "The perimeter of the Square is " << sp->getPerim () << endl;
cout << "The vertex count of the Square is " << sp->getVertexCount() << endl;
delete sp;
return 0;
}
阅读全文
0 0
- 练习65
- 练习65
- 【SICP练习】65 练习2.36
- 练习
- “++”“--”练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 27_键盘输入_Scanner类的使用_import简单入门
- TNS-12535 TNS-00505
- XML教程进阶05_相关技术
- org.apache.commons.lang.StringUtils 将数组变成字符串
- 高考作文做个标题党,有何不好!
- 练习65
- 统计数组中相同的某一元素的其他 指定元素总和
- led-class.c的代码逻辑
- PIC单片机入门_定时器TMR2详解与实例
- CAP理论(分布式)
- 3. Flume 启动命令
- 征信良好,为什么只有你的贷款额度低
- 练习66
- c++中几个段错误调试记录