第五周项目1构造函数
来源:互联网 发布:java程序员考试 编辑:程序博客网 时间:2024/05/17 09:00
/* * 程序的版权和版本声明部分: * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:李果 * 完成日期:2013 年 4月 17日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * 输入描述:无 * 问题描述: * 程序输出:* 问题分析:略 * 算法设计:略 */ #include<iostream> #include<cmath>using namespace std; class Triangle {public: Triangle(){a=1;b=1;c=1;} //第一类:直接构造一个固定三角形Triangle(double x, double y, double z) {a=x; b=y; c=z;}//第二类,构造一个可以传参的三角形//Triangle(double x=1, double y=1, double z=1) :a(x),b(y),c(z){} //(4)使用参数初始化表,同第二类 //Triangle(double x=1, double y=1, double z=1);//同第二类,函数体定义在外面而已double perimeter(void);//计算三角形的周长 double area(void);//计算并返回三角形的面积 void showMessage(); private: double a,b,c; //三边为私有成员数据 }; //Triangle::Triangle(double x, double y, double z) //如果不注释的话会定义重复 //{ // a=x; // b=y; // c=z; //} double Triangle::perimeter(void){if(a+b<=c || a+c<=b || b+c<=a)cout<<"无法构成三角形!"<<endl;elsereturn a+b+c;}double Triangle::area(void){double p,s;if(a+b<=c || a+c<=b || b+c<=a)cout<<"无法构成三角形!"<<endl;else{p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c)); }return s;}void Triangle:: showMessage() { cout<<"三角形的三边长分别为:"<<a<<" "<<b<<" "<<c<<endl; cout<<"该三角形的周长为:"<< perimeter()<<" "<<"面积为:"<< area()<<endl; } void main(void) { Triangle Tri1; Tri1.showMessage(); Triangle Tri2(7,8,9); Tri2.showMessage(); }