第五周项目1--三角形类雏形(5)

来源:互联网 发布:双门网络门禁控制器 编辑:程序博客网 时间:2024/06/02 17:05




 
问题及代码:


/*   *copyright (t) 2004,烟台大学计算机学院   *All rights reserved.      *文件名称:test.cpp      *作者:张晴晴    *完成日期:2016年3月30日     *版本号:v1.0     *问题描述:设计一个三角形的类,求周长面积,使用复制构造函数,用已有的三角形对象,复制出新的三角形对象。  *输入描述:无。    *程序输出:输出三角形周长面积。     */   #include<iostream>#include<cmath>using namespace std;class triangle{public:    triangle (double x,double y, double z ):a(x),b(y),c(z){};    void setabc(double x,double y,double z);    double perimeter();    double area();    bool   istriangle();    void showmessage();private:    double a,b,c;};int main(){   triangle tri1(3,4,5);   tri1.showmessage();   triangle tri2(tri1);   tri2.showmessage();    return 0;}void triangle::setabc(double x,double y,double z)     {        a=x;        b=y;        c=z;     }double triangle::perimeter()    {        double n;        n=a+b+c;        return n;    }double triangle::area()    {        double p,m,s;        p=1.0/2*(a+b+c);        m=(p*(p-a)*(p-b)*(p-c));        s=sqrt(m);        return s;    }     bool   triangle::istriangle()     {         if(a+b>c||a-b<c||a+c>b||a-c<b||b-c>a||b-c<a)            return true;         else            return false;     }     void triangle::showmessage()     {         cout<<"三角形的三边为:"<<a<<' '<<b<<' '<<c<<' '<<endl;      if(istriangle())    {    cout<<"三角形的周长为:"<<perimeter()<<'\t'<<"面积为:"<<area()<<endl;    }    else    cout<<"不能构成三角形"<<endl;     }

运行结果:

知识点总结:复制构造函数的使用。

学习心得:看清主函数里面调用的东西和能实现的功能。

0 0