第五周项目1:三角形类(默认构造函数)@(2)
第五周项目一:三角形类(默认构造函数)@(2)
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: date.cpp * 作 者: 李蒙 * 完成日期: 2013年 3 月 29 日 * 版本号: v1.0 * 输入描述:使用有默认参数的构造函数,不给定实参时,默认边长为1; * 问题描述:设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化 * 输出: */ #include<iostream> #include<Cmath> using namespace std; class Triangle {public: Triangle (int x=1,int y=1,int z=1); bool isTriangle(); double perimeter(void);//计算三角形的周长 double area(void);//计算并返回三角形的面积 void showMessage(); private: double a,b,c; //三边为私有成员数据 }; Triangle::Triangle(int x,int y,int z) { a=x; b=y; c=z; } bool Triangle::isTriangle() { if((a+b)>c&&(a+c)>b&&(b+c)>a) return true; else return false; } void Triangle:: showMessage() { if(isTriangle()){ cout<<"三角形的三边长分别为:"<<a<<" "<<b<<" "<<c<<endl; cout<<"该三角形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<endl; } else cout<<"三角形的三边长分别为:"<<a<<" "<<b<<" "<<c<<endl; cout<<"不能构成三角形!"<<endl; } double Triangle::perimeter(void) { return (a+b+c); } double Triangle::area(void) { double p; p=(a+b+c)/2; return sqrt(p*(p-a)*(p-b)*(p-c)); } void main(void) { Triangle Tri1; //定义三角形类的一个实例(对象),要求执行一个默认构造函数,三边初值均为1 Tri1.showMessage(); Triangle Tri2(2); //只给定一个实参 Tri2.showMessage(); }
输出结果:
心得体会:!!!