* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 设计三角形类,通过增加构造函数,使对象在定义时能够进行初始化
* 作 者: 郭广建
* 完成日期: 2012年3 月20 日
* 版 本 号: 1.0
源程序:①
#include<iostream>
#include<cmath>
using namespace std;
class Triangle
{
public:
Triangle();
Triangle(float x, float y, float z);
float perimeter(void);//计算三角形的周长
float area(void);//计算并返回三角形的面积
void showMessage();
private:
float a, b, c; //三边为私有成员数据
};
Triangle::Triangle()
{
a = 3;
b = 4;
c = 5;
}
Triangle::Triangle(float x, float y, float z)
{
a = x;
b = y;
c = z;
}
float Triangle::perimeter()
{
return (a+ b+ c);
}
float Triangle::area()
{
float q;
q = (a+ b+ c) / 2;
return (sqrt(q * (q - a) * (q - b)*(q - c)));
}
void Triangle::showMessage()
{
cout<<"三角形的三边长分别为:"<<a<<'\t'<<b<<'\t'<<c<<endl;
cout<<"该三角形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<endl<<endl;
}
void main(void)
{
Triangle Tri1; //定义三角形类的一个实例(对象)
Tri1.showMessage();
Triangle Tri2(7,8,9); //定义三角形类的一个实例(对象)
Tri2.showMessage();
}
运行结果:
②
#include<iostream> #include<cmath> using namespace std; class Triangle { public: Triangle(float x = 1, float y = 1, float z = 1); float perimeter(void);//计算三角形的周长 float area(void);//计算并返回三角形的面积 void showMessage(); private: float a, b, c; //三边为私有成员数据 }; Triangle::Triangle(float x , float y , float z ):a(x),b(y),c(z){} float Triangle::perimeter() { return (a+ b+ c); } float Triangle::area() { float q; q = (a+ b+ c) / 2; return (sqrt(q * (q - a) * (q - b)*(q - c))); } void Triangle::showMessage() { cout<<"三角形的三边长分别为:"<<a<<'\t'<<b<<'\t'<<c<<endl; cout<<"该三角形的周长为:"<< perimeter()<<'\t'<<"面积为:"<< area()<<endl<<endl; } void main(void) { Triangle Tri1; //定义三角形类的一个实例(对象) Tri1.showMessage(); Triangle Tri2(7,8,9); //定义三角形类的一个实例(对象) Tri2.showMessage(); }
运行结果: