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

来源:互联网 发布:淘宝号几单有一心 编辑:程序博客网 时间:2024/06/16 11:01

问题及代码:

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


运行结果:

知识点总结:

默认构造函数的应用

学习心得:

开始程序写对了,运行结果出来之后,脑抽的认为三边都为1,不能构成三角形,就把这个程序改了又改,但是怎么改结果都一样,后来和同学一说,才发现自己错了。

0 0