定义一个三角形的结构体,成员包括:(数据成员a,b,c和周长一半s,面积area),成员函数:输入
定义一个三角形的结构体,成员包括:(数据成员a,b,c和周长一半s,面积area),成员函数:输入函数()、计算函数()以及输出函数()。要求实现输入三角形三边能计算三角...
定义一个三角形的结构体,成员包括:(数据成员a,b,c和周长一半s,面积area),成员函数:输入函数()、计算函数()以及输出函数()。要求实现输入三角形三边能计算三角形面积
展开
2个回答
展开全部
//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输入,仅供参考,如有错误,请指正
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询