長方體類中的構造函數

源程序:

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

* 對任務及求解方法的描述部分
* 輸入描述:前4個長方柱(即數組的前4個元素)要在定義數組時初始化,其中前3個直接給出參數初始化,
  第4個用默認構造函數初始化;第5個長方柱定義時不初始化,而是由鍵盤輸入長、寬、高賦值;
* 問題描述:需要定義長方柱類,5個長方柱採用一個對象數組表示;
* 程序輸出:輸出這5個長方柱的體積和表面積;
* 程序頭部的註釋結束
*/
#include<iostream>

using namespace std;

class Box
{
public:
	
	Box():length(1.0),width(1.0),heigth(1.0){};//默認的構造函數
	Box(double len, double wid, double hei):length(len),width(wid),heigth(hei){};//帶參數的構造函數
	
	void set_box();
	double valume();
	double area();
	
private:
	double length;
	double width;
	double heigth;
};
int main()
{
	Box b[5] = 
	{
		Box(3.5,4.5,5.5),
			Box(4.5,3.6,8.9),
			Box(8.9,7.8,5.5)
	};//將前三個長方體初始化
	b[4].set_box();
	for(int i = 1; i < 6; ++i)
	{
		cout << "第" << i << "個長方體的體積是:" << b[i - 1].valume() << endl;
		
		cout << "第" << i << "個長方體的表面積是:" << b[i - 1].area() << endl;
	}//不用設置第四個長方體,在輸出的時候就以默認1.0 輸出了
	return 0;
}
void Box::set_box()
{
	cout << "請輸入長方體的長、寬、高:" ;
	
	cin >> length;
	
	cin >> width;
	
	cin >> heigth;
	
	return ;
}
double Box::valume()
{
	double t;
	
	t = length * width * heigth;
	
	return t;
}
double Box::area()
{
	double s;
	
	s = 2 * (length * width + length * heigth + width * heigth);
	
	return s;
}

實驗結果:


經驗積累:

1.定義對象數組後,在初始化時所給的參數不能多於數組內的元素個數

2.可以講成員函數設置成double型,給一個返回值,返回體積和表面積,在輸出時直接調用就可以了

上機感言:

在聲明類的時候,要把數據成員設爲私有的,把成員函數設爲公有的,而在剛開始編寫時,竟然弄反了,在編譯時出錯....糊塗了...


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