【项目1-三角形类的构造函数】
设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化,可以由下面的类声明开始,需要自己实现相关的成员函数,以及增加要求的构造函数
(1)
使用带参数构造函数,即Triangle(double x, double y, double z),三边长在调用时由实参直接给出。需要的测试函数是:
int main()
{
Triangle Tri(7,8,9); //定义三角形类的一个实例(对象)
Tri.showMessage();
return 0;
}
头文件:
#include <iostream>
#include<cmath>//C++专用,也兼容C的<math.h>
using namespace std;
class Triangle
{
public:
Triangle(double x, double y, double z) :a(x), b(y), c(z) {}//直接在类体中定义构造函数
double perimeter();//周长
double area();//面积
void showMessage();
private:
double a, b, c; //三边为私有成员数据
};
void Triangle::showMessage()
{
cout << "三角形的三边长分别为:" << a << ' ' << b << ' ' << c << endl;
cout << "该三角形的周长为" << perimeter() << ",面积为:" << area() << endl << endl;
}
double Triangle::perimeter()//不要忘记限定符
{
return (a + b + c);
}
double Triangle::area()
{
double s = (a + b + c) / 2;
return(sqrt(s*(s - a)*(s - b)*(s - c)));
================================================================================================
(2)设计无参构造函数,默认各边长为1。需要的测试函数是:
int main()
{
Triangle Tri; //调用默认构造函数,不指定参数时,默认各边长为1;
Tri.showMessage();