三角形类CTriangle
请设计并实现一个三角形类CTriangle。
编程要求
设计实现三角形类CTriangle,并完成主函数中的测试。三角形类CTriangle,应包括三个私有成员变量(三个边长),
以及相应的set和get函数。
然后设计成员函数根据边长计算三角形的周长和面积。主函数中,按要求完成相应的任务。
测试说明
平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试
第一行输入三角形的三个边长,以空格分开;
第二行输出周长,精确到小数点后两位;
第三行输出面积,精确到小数点后两位;
3 4 5
12.00
6.00
#include <iostream>
#include <cmath>
#include <iomanip>using namespace std;class CTriangle {
private:double sideA, sideB, sideC; // 三边私有成员public:// 构造函数初始化三边CTriangle(double a, double b, double c) : sideA(a), sideB(b), sideC(c) {} // 初始化列表赋值^[3][7]^// 拷贝构造函数CTriangle(const CTriangle& other) : sideA(other.sideA), sideB(other.sideB), sideC(other.sideC) {}// 设置边长函数组void setSideA(double a) { sideA = a; }void setSideB(double b) { sideB = b; }void setSideC(double c) { sideC = c; }// 获取边长函数组double getSideA() const { return sideA; }double getSideB() const { return sideB; }double getSideC() const { return sideC; }// 输出周长(直接格式化输出结果)void printPerimeter() const {double perimeter = sideA + sideB + sideC; // 周长公式^[9][13]^cout << fixed << setprecision(2) << perimeter << endl;}// 输出面积(海伦公式实现)void printArea() const {double s = (sideA + sideB + sideC) / 2.0; // 半周长计算^[7][14]^double area = sqrt(s * (s - sideA) * (s - sideB) * (s - sideC)); // 海伦公式^[14][17]^cout << fixed << setprecision(2) << area << endl;}
}; int main()
{double a, b, c;cin >> a >> b >> c;if(a<=0 || b<=0 || c<=0){cout << "Invalid Data!" << endl;return -1;}CTriangle ct1(a, b, c);ct1.printPerimeter();CTriangle ct2(ct1);ct2.printArea();return 0;
}