[cpp]
/*
* 程序的版權和版本聲明部分
* Copyright (c)2013, 煙台大學計算機學院學生
* All rightsreserved.
* 文件名稱: date.cpp
* 作 者: 李蒙
* 完成日期: 2013年 3 月 29 日
* 版本號: v1.0
* 輸入描述:使用有默認參數的構造函數,不給定實參時,默認邊長為1;
* 問題描述:設計三角形類,通過增加構造函數,使對象在定義時能夠進行初始化
* 輸出:
*/
#include<iostream>
#include<Cmath>
using namespace std;
class Triangle
{public:
Triangle (int x=1,int y=1,int z=1);
bool isTriangle();
double perimeter(void);//計算三角形的周長
double area(void);//計算並返回三角形的面積
void showMessage();
private:
double a,b,c; //三邊為私有成員數據
};
Triangle::Triangle(int x,int y,int z)
{
a=x;
b=y;
c=z;
}
bool Triangle::isTriangle()
{
if((a+b)>c&&(a+c)>b&&(b+c)>a)
return true;
else
return false;
}
void Triangle:: showMessage()
{
if(isTriangle()){
cout<<"三角形的三邊長分別為:"<<a<<" "<<b<<" "<<c<<endl;
cout<<"該三角形的周長為:"<< perimeter()<<'\t'<<"面積為:"<< area()<<endl;
}
else
cout<<"三角形的三邊長分別為:"<<a<<" "<<b<<" "<<c<<endl;
cout<<"不能構成三角形!"<<endl;
}
double Triangle::perimeter(void)
{
return (a+b+c);
}
double Triangle::area(void)
{
double p;
p=(a+b+c)/2;
return sqrt(p*(p-a)*(p-b)*(p-c));
}
void main(void)
{
Triangle Tri1; //定義三角形類的一個實例(對象),要求執行一個默認構造函數,三邊初值均為1
Tri1.showMessage();
Triangle Tri2(2); //只給定一個實參
Tri2.showMessage();
}
/*
* 程序的版權和版本聲明部分
* Copyright (c)2013, 煙台大學計算機學院學生
* All rightsreserved.
* 文件名稱: date.cpp
* 作 者: 李蒙
* 完成日期: 2013年 3 月 29 日
* 版本號: v1.0
* 輸入描述:使用有默認參數的構造函數,不給定實參時,默認邊長為1;
* 問題描述:設計三角形類,通過增加構造函數,使對象在定義時能夠進行初始化
* 輸出:
*/
#include<iostream>
#include<Cmath>
using namespace std;
class Triangle
{public:
Triangle (int x=1,int y=1,int z=1);
bool isTriangle();
double perimeter(void);//計算三角形的周長
double area(void);//計算並返回三角形的面積
void showMessage();
private:
double a,b,c; //三邊為私有成員數據
};
Triangle::Triangle(int x,int y,int z)
{
a=x;
b=y;
c=z;
}
bool Triangle::isTriangle()
{
if((a+b)>c&&(a+c)>b&&(b+c)>a)
return true;
else
return false;
}
void Triangle:: showMessage()
{
if(isTriangle()){
cout<<"三角形的三邊長分別為:"<<a<<" "<<b<<" "<<c<<endl;
cout<<"該三角形的周長為:"<< perimeter()<<'\t'<<"面積為:"<< area()<<endl;
}
else
cout<<"三角形的三邊長分別為:"<<a<<" "<<b<<" "<<c<<endl;
cout<<"不能構成三角形!"<<endl;
}
double Triangle::perimeter(void)
{
return (a+b+c);
}
double Triangle::area(void)
{
double p;
p=(a+b+c)/2;
return sqrt(p*(p-a)*(p-b)*(p-c));
}
void main(void)
{
Triangle Tri1; //定義三角形類的一個實例(對象),要求執行一個默認構造函數,三邊初值均為1
Tri1.showMessage();
Triangle Tri2(2); //只給定一個實參
Tri2.showMessage();
}