第五週作業任務一

 
設計三角形類,通過增加構造函數,使對象在定義時能夠進行初始化

特別要求:爲全面體會構造函數的各種寫法,本任務要求提交多個版本的程序,體現出你已經掌握下列知識點:(1)使用帶參數構造函數,即Triangle(float x, float y, float z),三邊長在調用時由實參直接給出;(2)設計默認構造函數,即不指定參數時,默認各邊長爲1;(3)使用默認參數的構造函數,不給定實參時,默認邊長爲1;(4)在構造函數中使用參數初始化表對數據成員初始化。

時間:2012年3月19日 學生:114-4班 張馨

#include<iostream> #include <cmath> using namespace std; class Triangle {public: Triangle(); Triangle(float,float,float); float Perimeter(void);//計算三角形的周長 float area(void);//計算並返回三角形的面積 void showMessage(); private: float a,b,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(); } 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 l,s1,s; l=(a+b+c)/2; s1=(l-a)*(l-b)*(l-c)*l; s=sqrt(s1); return s; } 上機感言:這次任務相對簡單些,只是活學課本上的東西,在面向對象的過程中靈活使用構造函數這一項技能,還需要多看課本呀。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章