面向对象用虚函数计算各种图形的面积 (10 分)

Posted karshey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象用虚函数计算各种图形的面积 (10 分)相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
在这里插入图片描述

宏定义的f一定要有,不然会因为精度问题扣分。

#include<iostream>
#define PI 3.14159f
using namespace std;

class Shape
{
	public:
		virtual float S()=0;
};

class Circle:public Shape
{
	float r;
	public:
		Circle()
		{
			cin>>r;
		}
		float S()
		{
			return PI*r*r;
		}
};

class Square:public Shape
{
	float r;
	public:
		Square()
		{
			cin>>r;
		}
		float S()
		{
			return r*r;
		}
};

class Rectangle:public Shape
{
	float a,b;
	public:
		Rectangle()
		{
			cin>>a>>b;
		}
		float S()
		{
			return a*b;
		}
};

class Trapezoid:public Shape
{
	float a,b,c;
	public:
		Trapezoid()
		{
			cin>>a>>b>>c;
		}
		float S()
		{
			return (a+b)*c/2;
		}
};

class Triangle:public Shape
{
	float a,b;
	public:
		Triangle()
		{
			cin>>a>>b;
		}
		float S()
		{
			return (a*b)/2;
		}
};


int main()
{
	Circle a1;
	Square a2;
	Rectangle a3;
	Trapezoid a4;
	Triangle a5;
	
	float sum=0;
	Shape *p=&a1;
	sum=sum+p->S();
	
	p=&a2;
	sum=sum+p->S();
	
	p=&a3;
	sum=sum+p->S();
	
	p=&a4;
	sum=sum+p->S();
	
	p=&a5;
	sum=sum+p->S();
	
	cout.precision(3);
	cout<<fixed<<sum<<endl;
	return 0;
}

以上是关于面向对象用虚函数计算各种图形的面积 (10 分)的主要内容,如果未能解决你的问题,请参考以下文章

第52课 C++中的抽象类和接口

王之泰201771010131《面向对象程序设计(java)》第十二周学习总结

C++面向对象例题:构建一个立方体类

7-8 对称图形的面积 (25分)

C++ 设计一个圆类,计算圆的面积和周长。

JAVA面向对象,继承、封装、多态