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

来源:互联网 发布:java可以生成apk吗 编辑:程序博客网 时间:2024/05/19 07:08

问题及代码:

/**copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved.*文件名称:test.cpp*作者:崔青青*完成日期:2016年3月26日*问题描述:使用复制构造函数,能用一个已有的三角形对象,复制出新的三角形对象。*输入:无*程序输出:三角形的周长和面积*/#include <iostream>#include<cmath>using namespace std;class triangle{public:    triangle(double x,double y,double z);    triangle(triangle &t);    void showmessage();    double perimeter();    double area();private:    double a,b,c;};triangle::triangle(double x,double y,double z){    if(x+y>z&&x+z>y&&z+y>x)    {        a=x;b=y,c=z;    }    else        cout<<"wrong"<<endl;}triangle::triangle(triangle &t){    a=t.a;    b=t.b;    c=t.c;}void triangle::showmessage(){    cout<<"三角形三边长为:"<<a<<','<<b<<','<<c<<endl;}double triangle::perimeter(){    double per;    per=a+b+c;    return per;}double triangle::area(){    double p;    p=(a+b+c)/2;    p=p*(p-a)*(p-b)*(p-c);    return sqrt(p);}int main(){    triangle tri1(3,4,5);    tri1.showmessage();    cout<<"三角形的周长为:"<<tri1.perimeter()<<'\t'<<"面积为:"<<tri1.area()<<endl;    triangle tri2(tri1);    tri2.showmessage();    cout<<"三角形的周长为:"<<tri2.perimeter()<<'\t'<<"面积为:"<<tri2.area()<<endl;    return 0;}


运行结果:

知识点总结:

复制构造函数的使用。

学习心得:

用复制构造函数简单快捷。

0 0
原创粉丝点击