码迷,mamicode.com
首页 > 其他好文 > 详细

Third practice 5

时间:2020-05-18 16:58:17      阅读:47      评论:0      收藏:0      [点我收藏+]

标签:stream   float   函数   define   输出   his   输入   def   源代码   

Third practice 5

任务描述

定义一个Shape基类,在此基础上派生出Rectangle和Circle,二者都有GetArea()函数计算对象的面积。使用Rectangle类创建一个派生类Square。

测试输入:5689

预期输出:

The area of the Circle is 78.5
The area of the Rectangle is 48
The area of the Square is 81

源代码

#include <iostream>
using namespace std;
#define PI 3.14

class Shape
{
public:
	Shape() {}
	~Shape() {}
	virtual float GetArea() { return -1; }
};

class Circle : public Shape
{
public:
	virtual float GetArea(){return PI*Redius*Redius;}
	Circle(float Redius){
		this->Redius = Redius;
	};
private:
	float Redius;
};

class Rectangle : public Shape
{
public:
	virtual float GetArea(){return this->length*this->wide;}
	Rectangle(float length,float wide){
		this->length = length;
		this->wide = wide;
	}

private:
	float length,wide;

};

class Square : public Rectangle
{
public:
	Square(float len);
	~Square() {}
};

Square::Square(float len) :
	Rectangle(len,len)
{

}

int main(){
	float Redius,length,wide,len;
	cin>>Redius>>length>>wide>>len;

	Circle c(Redius);
	cout<<"The area of the Circle is "<<c.GetArea()<<endl;

	Rectangle r(length,wide);
	cout<<"The area of the Rectangle is "<<r.GetArea()<<endl;

	Square s(len);
	cout<<"The area of the Square is "<<s.GetArea()<<endl;
	return 0;
}

Third practice 5

标签:stream   float   函数   define   输出   his   输入   def   源代码   

原文地址:https://www.cnblogs.com/lightice/p/12910907.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!