/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: x.cpp * 作者:徐本锡 * 完成日期: 2013年 3 月29 日 * 版本号: v1.0 * 输入描述: * 问题描述:默认构造函数和带参数的构造函数 * 程序输出: */ //我的代码: #include<iostream> #include<cmath> using namespace std; class Triangle { public: Triangle(double x, double y, double z); Triangle(); double perimeter(void);//计算三角形的周长 double area(void);//计算并返回三角形的面积 void showMessage(); private: bool isTriangle();//判断是否为三角形 double a,b,c; //三边为私有成员数据 }; bool Triangle::isTriangle()//判断是否为三角形 { double num;int i=0;bool t=true; do { if(a+b>c&&a-b<c) { num=a;a=b;b=c;c=num; i++; } else { cout<<"三边构不成三角形!"; t=false; break; } if(i==3) break; }while(i<=3); return t; } double Triangle::perimeter() { return(a+b+c); } double Triangle::area() { double z; z=(a+b+c)/2; return (sqrt(z*(z-a)*(z-b)*(z-c))); } Triangle::Triangle() { a=1;b=1;c=1; } Triangle::Triangle(double x,double y,double z) { a=x;b=y;c=z; } void Triangle:: showMessage() { if(isTriangle()) { cout<<"三角形的三边长分别为"<<a<<'\t'<<b<<'\t'<<c<<endl; cout<<"该三角形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<endl<<endl; } else cout<<"不能够成三角形!"<<endl; } void main(void) { Triangle Tri1; //定义三角形类的一个实例(对象),要求执行一个默认构造函数,三边初值均为1 Tri1.showMessage(); Triangle Tri2(7,8,9); //定义三角形类的一个实例(对象) Tri2.showMessage(); }