实验 构造函数

来源:互联网 发布:海岛奇兵医疗升级数据 编辑:程序博客网 时间:2024/06/01 18:49

实验二 构造函数
1、实验目的
    通过实验理解构造函数的概念与其特殊应用。
2、实验内容
    应用VC++6.0的编辑环境构造一个类Triangle,该类主要实现三角形的基本操作,例如初始化(构造函数及构造函数的重载)、求三角形的周长、面积、判断该三角形是什么三角形(等边、等腰、直角、等边直角、一般三角形、非三角形)、输出等,具体说明如下:

class Triangle{

public:

    Triangle(double,double,double);

    Triangle(double,double);  //Overload

    Triangle(double);   //Overload

    Triangle();   //Overload

    double GetArea();

    double GetPerimeter();

    double Show();

private:

    double a,b,c;

};

 

源代码:

#include<iostream.h>
#include<math.h>


class Triangle{

public:

    Triangle(double x,double y,double z)
 {
  a=x;
  b=y;
  c=z;
 }

    Triangle(double x,double y)  //Overload
 {
  a=x;
  b=y;
  c=5;
 }

    Triangle(double x)   //Overload
 {
  a=x;
  b=4;
  c=5;
 }

    Triangle(void)   //Overload
 {
  a=3;
  b=4;
  c=5;
 }

    double GetArea()  //求面积
 {
  double m=GetPerimeter()/2;
  return sqrt(m*(m-a)+m*(m-b)+m*(m-c));
 }

    double GetPerimeter()   //求周长
 {
  return a+b+c;
 }

    void Show()   //判断是什么三角形
 {
  if(a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a)
  {
   if(a == b || a == c || b == c)
   {
    cout<<"等腰直角三角形"<<endl;
   }
   else
   {
    cout<<"直角三角形"<<endl;
   }
  }
  else
  {
   if(a == b || a == c || b == c)
   {
    if(a==b && b==c)
    {
     cout<<"正三角形"<<endl;
    }
    else
    {
     cout<<"等腰三角形"<<endl;
    }
   }
   else
   {
    cout<<"一般三角形"<<endl;
   }
  }
  return ;
 }

 void Print()
 {
  cout<<"面积为:"<<GetArea()<<"  "<<"周长为:"<<GetPerimeter()<<"  ";
  Show();
  cout<<endl<<endl;
  return ;
 }

private:

    double a,b,c;

};

void main()
{
 Triangle tr1(6.0);
 Triangle tr2(5.0,4.0);
 Triangle tr3(6.0,6.0,6.0);
 Triangle tr4;
 tr1.Print();
 tr2.Print();
 tr3.Print();
 tr4.Print();
 return ;
}

 

原创粉丝点击