问题及代码:
/*
*copyright(c)2016,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:test.cpp
*作者:崔青青
*完成日期:2016年3月26日
*问题描述:设计三角形类带参数的构造函数,即triangle(double x,double y,double z),三边长在调用时由实参直接给出,
*使对象在直接定义时能够进行初始化。
*输入:无
*程序输出:三角形的周长和面积
*/
#include <iostream>
#include<cmath>
using namespace std;
class triangle
{
public:
triangle(double x,double y,double z);
void showmessage();
double perimeter();
double area();
private:
double a,b,c;
};
triangle::triangle(double x,double y,double z)
{
if(x+y>z&&x+z>y&&z+y>x)
{
a=x;b=y,c=z;
}
else
cout<<"wrong"<<endl;
}
void triangle::showmessage()
{
cout<<"三角形三边长为:"<<a<<','<<b<<','<<c<<endl;
}
double triangle::perimeter()
{
double per;
per=a+b+c;
return per;
}
double triangle::area()
{
double p;
p=(a+b+c)/2;
p=p*(p-a)*(p-b)*(p-c);
return sqrt(p);
}
int main()
{
triangle tri(7,8,9);
tri.showmessage();
cout<<"三角形的周长为:"<<tri.perimeter()<<'\t'<<"面积为:"<<tri.area()<<endl;
return 0;
}
运行结果:
知识点总结:
构造函数的使用。
学习心得:
构造函数可以进行初始化,方便。