/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 构造函数(三角形类)
* 作 者: 刘镇
* 完成日期: 2012 年 3 月 17 日
* 版 本 号: 1.036
* 对任务及求解方法的描述部分
* 输入描述: .。。。。
* 问题描述: 尝试用构造函数初始化。
* 程序输出: 三角形的面积周长。
* 程序头部的注释结束
* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 构造函数(三角形类)
* 作 者: 刘镇
* 完成日期: 2012 年 3 月 17 日
* 版 本 号: 1.036
* 对任务及求解方法的描述部分
* 输入描述: .。。。。
* 问题描述: 尝试用构造函数初始化。
* 程序输出: 三角形的面积周长。
* 程序头部的注释结束
*/
#include<iostream>
#include<Cmath>
using namespace std;
//第一种:
class Triangle
{
public:
Triangle(float x = 10, float y = 10, float z = 10);
float perimeter(void); //计算三角形的周长
float area(void); //计算并返回三角形的面积
void showMessage();
private:
float a,b,c; //三边为私有成员数据
};
//第二种:
class Triangle
{
public:
Triangle(float x = 10, float y = 10, float z = 10);
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) {}
Triangle::Triangle(float x, float y, float z)
{
a = x;
b = y;
c = z;
}
//第三种:
class Triangle
{
public:
Triangle();
Triangle::Triangle(float x, float y, float z):a(x), b(y), c(z) {}
float perimeter(void); //计算三角形的周长
float area(void); //计算并返回三角形的面积
void showMessage();
private:
float a,b,c; //三边为私有成员数据
};
Triangle::Triangle()
{
a = 10;
b = 10;
c = 10;
}
//第四种:
class Triangle
{
public:
Triangle();
Triangle::Triangle(float, float, float);
float perimeter(void); //计算三角形的周长
float area(void); //计算并返回三角形的面积
void showMessage();
private:
float a,b,c; //三边为私有成员数据
};
Triangle::Triangle()
{
a = 10;
b = 10;
c = 10;
}
Triangle::Triangle(float x, float y, float z)
{
a = x;
b = y;
c = z;
}
void main(void)
{
Triangle Tri1; //定义三角形类的一个实例(对象)
Tri1.showMessage();
Triangle Tri2(7, 8, 9); //定义三角形类的一个实例(对象)
Tri2.showMessage();
}
void Triangle::showMessage()
{
cout << "三角形的三边长分别为:" << a << " " << b << " " << c << endl;
cout << "该三角形的周长为:" << perimeter() << '\t' << "面积为:" << area() << endl;
}
float Triangle::perimeter(void)
{
return (a + b + c);
}
float Triangle::area(void)
{
float p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
运行结果:
感言:
其实仅仅是表达的方式不同。