第四周项目一:三角形类的构造函数(3)
来源:互联网 发布:阿里云价格计算 编辑:程序博客网 时间:2024/05/20 01:39
问题:(3)使用有默认参数的构造函数,不给定实参时,默认边长为1;注意——这个版本也只需要一个构造函数即可。需要的测试函数是:
int main(){ Triangle Tri1; //定义边长为1 1 1的三角形类实例 Tri1.showMessage(); Triangle Tri2(1.5);//定义边长为1.5 1 1的三角形类实例 Tri2.showMessage(); Triangle Tri3(1.5,1.5);//定义边长为1.5 1.5 1的三角形类实例 Tri3.showMessage(); Triangle Tri4(7,8,9); //定义边长为7 8 9的三角形类实例 Tri4.showMessage(); return 0;}
解决方案:
#include <iostream>#include <cmath>using namespace std;class Triangle{public: Triangle(double x=1,double y=1,double z=1); double perimeter();//计算三角形的周长 double area();//计算并返回三角形的面积 void showMessage();private: double a,b,c; //三边为私有成员数据};double Triangle::perimeter(){ return(a+b+c);}double Triangle::area(){ double s=(a + b + c)/2; return sqrt(s*(s-a)*(s - b)*(s - c));}Triangle::Triangle(double x,double y,double z){ a=x; b=y; c=z;}void Triangle::showMessage(){ cout<<"三角形的三边长分别为:"<<a<<' '<<b<<' '<<c<<endl; cout<<"该三角形的周长为"<<perimeter()<<",面积为:"<<area()<<endl<<endl;}int main(){ Triangle Tri1; //定义边长为1 1 1的三角形类实例 Tri1.showMessage(); Triangle Tri2(1.5);//定义边长为1.5 1 1的三角形类实例 Tri2.showMessage(); Triangle Tri3(1.5,1.5);//定义边长为1.5 1.5 1的三角形类实例 Tri3.showMessage(); Triangle Tri4(7,8,9); //定义边长为7 8 9的三角形类实例 Tri4.showMessage(); return 0;}
学习心得:使用有默认参数的构造函数
0 0
- 第四周项目一三角形类的构造函数-3
- 第四周项目一 三角形的构造函数(3)
- 第四周项目一 三角形类构造函数(3) 带默认参数的构造函数
- 第四周项目一—三角形类的构造函数
- 第四周 项目一-三角形类的构造函数
- 第四周项目一 三角形类的构造函数
- 第四周项目一 三角形类的构造函数 4
- 第四周 项目一三角形类的构造函数
- 第四周项目一 三角形类的构造函数
- 第四周 项目一 三角形类的构造函数1
- 第四周 项目一 三角形类的构造函数2
- 第四周项目一 三角形类的构造函数
- 第四周项目一三角形类的构造函数-1
- 第四周项目一三角形类的构造函数-2
- 第四周项目一三角形类的构造函数-4
- 第四周 项目一 三角形类的构造函数
- 第四周项目一 三角形的构造函数(2)
- 第四周项目一 三角形的构造函数(4)
- 枚举类
- 循环-09. 支票面额(15)
- 二进制的一些小问题
- 银行业务调度系统
- 009:了不起的分支和循环3
- 第四周项目一:三角形类的构造函数(3)
- 第四周 阅读程序 2
- Oracle goldengate Windows平台oracle-oracle单向复制试验
- hadoop命令详解
- 本机连接虚拟机Fedora6的oracle10g设置方法
- 一个新的阶段。
- 【手写排序算法及优化】快速排序
- UML类图几种关系的总结
- 关于C#操作INI文件的总结