第四周项目一三角形类的构造函数(1)
2015-03-30 15:54
302 查看
问题及代码:
运行结果:
知识点总结:
带参数构造函数的应用
学习心得:
当我写到第二问的时候,忽然想到,这个程序当三角形不成立的情况没有写。
/* * Copyright (c) 2014, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:test.cpp * 作 者:郝俊宇 * 完成日期:2015年 3 月30 日 * 版 本 号:v1.0 * * 问题描述:设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化,可以由下面的类声明开始,需要自己实现相关的成员函数,以及增加要求的构造函数(1)使用带参数构造函数,即Triangle(double x, double y, double z),三边长在调用时由实参直接给出。 * 输入描述:无 * 程序输出:三角形的周长,面积 */ #include <iostream> #include <cmath> #include <cstdlib> using namespace std; class Triangle { public: Triangle (double ,double ,double ); double perimeter();//计算三角形的周长 double area();//计算并返回三角形的面积 void showMessage(); private: double a,b,c; //三边为私有成员数据 }; void Triangle::showMessage() { cout<<"三角形的三边长分别为:"<<a<<' '<<b<<' '<<c<<endl; cout<<"该三角形的周长为"<<perimeter()<<",面积为:"<<area()<<endl<<endl; } int main() { Triangle Tri(7,8,9); //定义三角形类的一个实例(对象) Tri.showMessage(); return 0; } Triangle::Triangle(double x,double y,double z) { if(x+y>z&&x+z>y&&y+z>x) { a=x; b=y; c=z; } 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; }
运行结果:
知识点总结:
带参数构造函数的应用
学习心得:
当我写到第二问的时候,忽然想到,这个程序当三角形不成立的情况没有写。
相关文章推荐
- 第四周 项目一-三角形类的构造函数(二)
- 第四周项目一 三角形的构造函数(2)
- 第四周项目一三角形的构造函数---设计默认构造函数
- 2015年第四周项目一:三角形类的构造函数(1)
- 15第四周项目一——三角形类的构造函数
- 第四周项目一:三角形类的构造函数(3):有默认参数的构造函数
- 第四周 项目一-三角形类的构造函数
- 第四周项目一:三角形类的构造函数(4)
- 第四周项目一:三角形类的构造函数(2)
- 第四周上机项目1.3三角形类的构造函数
- 第四周 项目一-三角形类的构造函数(三)
- 第四周上机实践项目1——三角形类的构造函数(2)
- 第四周项目一 三角形的构造函数(4)
- 第四周项目1 三角形类的构造函数2
- 第四周 项目一-三角形类的构造函数(一)
- 第四周项目一—三角形类的构造函数
- 第四周项目1.3 三角形类 使用有默认参数的构造函数
- 第四周上机实践项目1——三角形类的构造函数
- 15第四周项目一——三角形类的构造函数(2)
- 第四周项目一 三角形类的构造函数