定义一个三角形的结构体,成员包括:(数据成员a,b,c和周长一半s,面积area),成员函数:输入

定义一个三角形的结构体,成员包括:(数据成员a,b,c和周长一半s,面积area),成员函数:输入函数()、计算函数()以及输出函数()。要求实现输入三角形三边能计算三角... 定义一个三角形的结构体,成员包括:(数据成员a,b,c和周长一半s,面积area),成员函数:输入函数()、计算函数()以及输出函数()。要求实现输入三角形三边能计算三角形面积 展开
 我来答
涵晨v
2019-04-09
知道答主
回答量:1
采纳率:0%
帮助的人:754
展开全部
//2.	定义一个三角形类,属性包括:数据成员(三条边a,b,c和周长一半s,面积area),成员函数:计算函数comp()以及输出函数output()。
//面积计算公式:sqrt(s*(s - a)*(s - b)*(s - c))
//要求:将所有数据成员和成员函数output()定义为private属性,计算函数comp()定义为public属性。
//1) 定义4个构造函数:分别是无参,一个参数的,二个参数,三个参数的构造函数,且使用参数初始化列表定义。
//2) 定义1个析构函数。
//3) 在main()中分别定义4个三角形对象,分别以无参,一个参数的,二个参数,三个参数的构造函数构造三角形对象。
//4)定义一个返回值为对象的函数,观察其函数调用顺序。
//5)假设所给边长正好均可组成三角形。
#include <iostream>
#include <math.h>
using namespace std;
class Triangle{
public:
Triangle();
Triangle(int x);
Triangle(int x, int y);
Triangle(int x, int y, int z);
~Triangle();
void comp();
private:
int a;
int b;
int c;
double s;
private:
double area;
void output();
};
Triangle::Triangle() :a(3), b(4), c(5)
{
cout << "无参构造函数使用中" << endl;
}
Triangle::Triangle(int x) : a(x), b(4), c(5)
{
cout << "含有一个参数构造函数使用中" << endl;
}
Triangle::Triangle(int x,int y) : a(x), b(y), c(5)
{
cout << "含有两个参数构造函数使用中" << endl;
}
Triangle::Triangle(int x, int y,int z) : a(x), b(y), c(z)
{
cout << "含有三个参数构造函数使用中" << endl;
}
Triangle::~Triangle()
{
cout << "析构函数使用中" << endl;
}
void Triangle::comp(){
s = (a + b + c) / 2.0;//面积计算公式
area = sqrt(s*(s - a)*(s - b)*(s - c));
output();//私有成员函数,类外无法调用,用共有成员函数调用
}
void Triangle::output()
{
cout << "三角形的面积为:" << area << endl;
}
int main()
{
Triangle t1;
t1.comp();
cout << "----------------" << endl;
Triangle t2(6);
t2.comp();
cout << "----------------" << endl;
Triangle t3(5,6);
t3.comp();
cout << "----------------" << endl;
Triangle t4(5,12,13);
t4.comp();
return 0;

}
我写的是默认的参数,也可以在运行时输入,在main函数中定义a,b,c,用cin输入,仅供参考,如有错误,请指正
百度网友5f0c6fd
2015-03-25 · TA获得超过2823个赞
知道小有建树答主
回答量:1005
采纳率:100%
帮助的人:525万
展开全部
这是问题不难,不过你需要知道海伦公式(用来计算面积).
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式