您的位置:首页 > 其它

第四周项目一三角形类的构造函数(1)

2015-03-30 15:54 302 查看
问题及代码:

/*
* Copyright (c) 2014, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称:test.cpp
* 作    者:郝俊宇
* 完成日期:2015年 3 月30 日
* 版 本 号:v1.0
*
* 问题描述:设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化,可以由下面的类声明开始,需要自己实现相关的成员函数,以及增加要求的构造函数(1)使用带参数构造函数,即Triangle(double x, double y, double z),三边长在调用时由实参直接给出。
* 输入描述:无
* 程序输出:三角形的周长,面积
*/
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
class Triangle
{
public:
Triangle (double ,double ,double );
double perimeter();//计算三角形的周长
double area();//计算并返回三角形的面积
void showMessage();
private:
double a,b,c; //三边为私有成员数据
};
void Triangle::showMessage()
{
cout<<"三角形的三边长分别为:"<<a<<' '<<b<<' '<<c<<endl;
cout<<"该三角形的周长为"<<perimeter()<<",面积为:"<<area()<<endl<<endl;
}
int main()
{
Triangle Tri(7,8,9);	//定义三角形类的一个实例(对象)
Tri.showMessage();
return 0;
}
Triangle::Triangle(double x,double y,double z)
{
if(x+y>z&&x+z>y&&y+z>x)
{
a=x;
b=y;
c=z;
}
else
{
cout<<"不能构成三角形"<<endl;
exit(0);
}

}
double Triangle::area()
{
double t;
t=(a+b+c)/2;
return (sqrt(t*(t-a)*(t-b)*(t-c)));
}
double Triangle::perimeter()
{
return a+b+c;
}


运行结果:



知识点总结:

带参数构造函数的应用

学习心得:

当我写到第二问的时候,忽然想到,这个程序当三角形不成立的情况没有写。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: