第五週任務一之構造函數的參數初始化表

源程序:

/* (程序頭部註釋開始)
* 程序的版權和版本聲明部分
* Copyright (c) 2011, 煙臺大學計算機學院學生 
* All rights reserved.
* 文件名稱:三角形類之參數初始化表的構造函數                            
* 作    者:  114-3 張宗佳                            
* 完成日期:  2012 年 3  月 19 日
* 版 本 號: vc.4         

* 對任務及求解方法的描述部分
* 輸入描述:
* 問題描述:在構造函數中使用參數初始化表對數據成員初始化。
* 程序輸出:輸出三角形的三邊,周長和麪積 
* 程序頭部的註釋結束
*/
#include<iostream>

#include<cmath>

using namespace std;

class Triangle
{
public:

	Triangle(float,float,float);//帶參數的構造函數

	float perimeter(void);//計算三角形的周長

	float area(void);//計算三角形的面積

	void showMessage();

private:

	float a,b,c;
};
int main()
{

	Triangle Tri2(7,8,9);//定義三角形類的一個實例

	Tri2.showMessage();

	return 0;
}

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.參數初始化表對函數體內數據成員的初始化實在函數首部實現的

2.使用參數初始化表的構造函數可以在類內定義,也可以在類外定義,在類外定義一定要用域限定符

3.在使用參數初始化表時,可以直接附初值,但是在定義對象時給出的是殘就不管用了


發佈了79 篇原創文章 · 獲贊 9 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章