1. 程式人生 > >【任務1】設計三角形類,通過增加建構函式,使物件在定義時能夠進行初始化

【任務1】設計三角形類,通過增加建構函式,使物件在定義時能夠進行初始化

#include<iostream>
#include <cmath>
using namespace std;
class Triangle
{public:
    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; //三邊為私有成員資料
};

void Triangle :: showMessage()
{
	cout<<"三角形的三邊長分別為:"<<a<<'\t'<<b<<'\t'<<c<<endl;
    
  
}

void main(void)
{
	Triangle Tri1;	//定義三角形類的一個例項(物件)
	Tri1.showMessage();
    cout<<"該三角形的周長為:"<< Tri1.perimeter()<<'\t'<<"面積為:"<< Tri1.area()<<endl;
	Triangle Tri2(7,8,9);	//定義三角形類的一個例項(物件)
	Tri2.showMessage();
	cout<<"該三角形的周長為:"<< Tri2.perimeter()<<'\t'<<"面積為:"<< Tri2.area()<<endl;
}
Triangle :: Triangle()
{
	a=1,b=1,c=1;
}
float Triangle::perimeter(void)
{
	return a+b+c;
}
float Triangle::area(void)
{
    float p,s,m;  
    p=(a+b+c)/2;  
    s=p*(p-a)*(p-b)*(p-c);  
    m=sqrt(s);  
    return m;  
}