您的位置:首页 > 其它

第五周任务一之默认构造函数和带参数的构造函数

2012-03-20 14:05 232 查看
源程序:

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:三角形类之默认构造函数和带参数的构造函数
* 作 者: 114-3 张宗佳
* 完成日期: 2012 年 3 月 19 日
* 版 本 号: vc.4

* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:(1)使用带参数构造函数,即Triangle(float x, float y, float z),三边长在调用时由实参直接给出;
(2)设计默认构造函数,即不指定参数时,默认各边长为1;
* 程序输出:输出三角形的三边,周长和面积
* 程序头部的注释结束
*/
#include<iostream>

#include<cmath>

using namespace std;

class Triangle
{
public:

Triangle(float,float,float);//带参数的构造函数

Triangle();//默认构造函数

float perimeter(void);//计算三角形的周长

float area(void);//计算三角形的面积

void showMessage();

private:

float a,b,c;
};
int main()
{
Triangle Tri1;//定义三角形类的一个实例(对象)

Tri1.showMessage();

Triangle Tri2(7,8,9);//定义三角形类的一个实例

Tri2.showMessage();

return 0;
}
Triangle::Triangle()
{
a = 1;
b = 1;
c = 1;
}
Triangle::Triangle(float x,float y, float z)
{
a = x;
b = y;
c = z;
}
float Triangle::perimeter(void)
{
return(a + b + c);
}
float Triangle::area(void)
{
float cos, sin, s;

cos = (a * a + c * c - b * b) / (2 * a * c);

sin = sqrt (1 - cos * cos);

s = a * c * sin / 2;

return s;
}
void Triangle::showMessage()
{
cout << "三角形的三边长分别为:" << a << '\t' << b << '\t' << c << endl;

cout << "三角形的周长为:" << perimeter() << "三角形的面积:" << area() << endl;

return ;
}实验结果:



实验积累:

1.构造函数的名字必须与类名同名,而且它不具有任何类型,不返回任何职,在类外定义时,要有域限定符,如Triangle::Triangle()2.带参数的构造函数与默认构造函数不同,默认构造函数不带参数,在定义时直接给出默认值
3.带参数的构造函数中的形参,其对应的实参在定义对象时给定
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  任务 float c