Third practice 5

Posted lightice

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Third practice 5相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

Third practice 1

Third practice 4

Third practice 3

Third practice 6

Third Maximum Number

VSCode自定义代码片段5——HTML元素结构