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

来源:互联网 发布:微信公众号授权域名 编辑:程序博客网 时间:2024/06/10 06:15

问题及代码:

/* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称:zwj.cpp *作    者:张伟晶 *完成日期:2016年3月27日 *版 本 号:v1.0 * *问题描述:使用复制构造函数,能用一个已有的三角形对象,复制出新的三角形对象; *输入描述: *程序输出: */#include<iostream>#include<cmath>using namespace std;class triangle{public:    triangle(double x=1.0,double y=1.0,double z=1.0):a(x),b(y),c(z){};//构造函数    void setabc(double x,double y,double z);    double perimeter();//计算三角形周长    double area();   //面积    void seta(double x){a=x;}    void setb(double y){b=y;}    void setc(double z){c=z;}    double geta(){return a;}    double getb(){return b;}    double getc(){return c;}    void showmessage();    bool istriangle()    {        if(a+b>c&&a+c>b&&b+c>a)            return true;        else            return false;    }private:    double a,b,c;};void triangle::showmessage(){    if(istriangle())    {        cout << "三条边为:" << a << "," << b << "," << c << endl;        cout << "三角形的周长为:" << perimeter() << "\t" << "面积为:" << area() << endl;    }   else        cout << "不能构成三角形" << endl;    cout<<"\n\n\n";}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(){    return a+b+c;}double triangle::area(){    double p = (a+b+c)/2;    return sqrt(p*(p-a)*(p-b)*(p-c));};

运行结果:

知识点总结:

复制构造函数

学习心得:

持续努力,保持激情。

0 0
原创粉丝点击