练习39
来源:互联网 发布:面试测评软件系统 编辑:程序博客网 时间:2024/05/17 03:37
#include <iostream>
using namespace std;
class Shape
{
public:
Shape(){}
~Shape(){}
virtual float getArea() { return -1; }
};
class Circle : public Shape
{
public:
Circle(float radius):itsRadius(radius){}
~Circle(){}
float getArea() { return 3.14 * itsRadius * itsRadius; }
private:
float itsRadius;
};
class Rectangle : public Shape
{
public:
Rectangle(float len, float width): itsLength(len), itsWidth(width){};
~Rectangle(){};
virtual float getArea() { return itsLength * itsWidth; }
virtual float getLength() { return itsLength; }
virtual float getWidth() { return itsWidth; }
private:
float itsWidth;
float itsLength;
};
class Square : public Rectangle
{
public:
Square(float len);
~Square(){}
};
Square::Square(float len):
Rectangle(len, len)
{
}
int main()
{
Shape * sp;
sp = new Circle(5);
cout << "The area of the Circle is " << sp->getArea () << endl;
delete sp;
sp = new Rectangle(4, 6);
cout << "The area of the Rectangle is " << sp->getArea() << endl;
delete sp;
sp = new Square(5);
cout << "The area of the Square is " << sp->getArea() << endl;
delete sp;
return 0;
}
using namespace std;
class Shape
{
public:
Shape(){}
~Shape(){}
virtual float getArea() { return -1; }
};
class Circle : public Shape
{
public:
Circle(float radius):itsRadius(radius){}
~Circle(){}
float getArea() { return 3.14 * itsRadius * itsRadius; }
private:
float itsRadius;
};
class Rectangle : public Shape
{
public:
Rectangle(float len, float width): itsLength(len), itsWidth(width){};
~Rectangle(){};
virtual float getArea() { return itsLength * itsWidth; }
virtual float getLength() { return itsLength; }
virtual float getWidth() { return itsWidth; }
private:
float itsWidth;
float itsLength;
};
class Square : public Rectangle
{
public:
Square(float len);
~Square(){}
};
Square::Square(float len):
Rectangle(len, len)
{
}
int main()
{
Shape * sp;
sp = new Circle(5);
cout << "The area of the Circle is " << sp->getArea () << endl;
delete sp;
sp = new Rectangle(4, 6);
cout << "The area of the Rectangle is " << sp->getArea() << endl;
delete sp;
sp = new Square(5);
cout << "The area of the Square is " << sp->getArea() << endl;
delete sp;
return 0;
}
阅读全文
0 0
- 练习39
- 练习39
- 【SICP练习】39 练习1.44
- 39 练习:投票系统
- leetCode练习(39)
- 练习
- “++”“--”练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 我将进化成一条狗(12)——完结
- Linux环境定位C程序内存泄露以及非法访问的方法
- nodejs最开始操作
- 计算机组成原理-存储器实验
- ubuntu16.04 cuda8.0 opencv3.1 gtx1080 配置ssd
- 练习39
- 数字电子技术复习(三)——触发器和时序电路
- javascript:typeof与instanceof区别
- maven工程启动eclipse 报错java.lang.NoClassDefFoundError:
- Zookeeper---概念梳理
- LEECODE-Roman to Integer
- java中IO流的操作
- Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.security.AccessControlExcep
- Prim算法之我见