• 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;
    }
    
    
  • 相关阅读:
    MongoClient类
    MongoDB基本操作(增删改查)
    为什么MongoDB适合大数据的存储?
    npm的使用
    nodejs安装教程
    c#byte数组和string类型转换
    C#中数组、ArrayList和List三者的区别
    eclspse魔板
    mysql的备份
    shell的使用
  • 原文地址:https://www.cnblogs.com/lightice/p/12910907.html
Copyright © 2020-2023  润新知