C++定义梯形类,求梯形的周长,面积

来源:百度知道 编辑:UC知道 时间:2024/07/04 08:28:58

#include <iostream>
#include <cmath>

using namespace std;

/*
写出一个梯形类,操作有求面积和周长
分析:由于要求梯形的面积和周长,那就要为梯形提供上底,下底,高,左边长,右边长等属性。
*/

class trapezia{
public:
trapezia():up_side(0),down_side(0),left_side(0),right_side(0),m_height(0)
{}
trapezia(double up,double down,double left,double right):
up_side(up),down_side(down),left_side(left),right_side(right)
{
/*
已知边长和上下底,根据边长,底和高构成的直角三角形求高
*/
double temp=down_side-up_side;
m_height=sqrt(left_side*left_side-temp*temp);
}
double get_perimeter()//取边长
{
return up_side+down_side+left_side+right_side;
}
double get_height()//取高
{
return m_height;
}
double get_area()//取面积,面积公式为"(上底+下底)X高/2"
{
return (up_side+down_side)*m_height/2.00;
}
private:
double up_side;//上底
double down_side;//下底
double left_side;//左边