第五周上机实践项目——项目1-三角形类雏形-(5)
2016-03-26 12:30
337 查看
/* *Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp *作 者:郭永恒 *完成日期:2016年3月26日 *版 本 号: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) {}//构造函数 Triangle(const Triangle &t):a(t.a),b(t.b),c(t.c){}//复制构造函数 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; } 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)); }; int main() { Triangle Tri1(3,4,5); Tri1.showMessage(); Triangle Tri2(Tri1); Tri2.showMessage(); return 0; }
运行结果:
相关文章推荐
- 对象深复制之输出流转输入流
- IOS 中block结构的简单用法
- 栈的应用——圆括号的匹配检验
- python从零安装
- 栈的应用——圆括号的匹配检验
- python--函数每天熟悉一个
- 算法训练 最大的算式
- 诚招运维小弟一名
- HRBUST-1909-理工门外的树
- 诚招运维小弟一名
- Qt的Graphics-View框架和OpenGL结合详解
- Android中的Http通信(二)
- HDU3336 Count the string KMP+递推
- 【杭电-oj】-1236排名-(结构体应用)
- 什么是SVG和SVG常用的形状
- Hexo静态博客搭建教程
- 使用fluentd管理docker日志
- 软考中高项学员:2016年3月23日作业
- 【02单表查询】——02:TOP
- 经典算法面试题(二)