- /*
- *Copyright (c)2016,烟台大学计算机与控制工程学院
- *All rights reserved.
- *文件名称:asd.cpp
- *作 者:孙超 *完成日期:2016年3月29日
- *版 本 号:v1.0
- *
- *问题描述:使用有默认参数的构造函数,不给顶实参时,默认边长为1.
- */
- #include<iostream>
- #include<Cmath>
- using namespace std;
- class Triangle
- {
- public:
- Triangle(double x=1, double y=1, double z=1);//(3)声明使用默认参数的构造函数,不给定实参时,默认边长为1;
- double perimeter();//计算三角形的周长
- double area();//计算并返回三角形的面积
- void showMessage();
- private:
- double a,b,c; //三边为私有成员数据
- };//本参考解答在类声明之外实现
- Triangle::Triangle(double x, double y, double z)
- {
- a=x;
- b=y;
- c=z;
- }
- 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)));
- }
- 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;
- }