第五周 项目一 三角形类雏形(5)

来源:互联网 发布:图章制作软件下载 编辑:程序博客网 时间:2024/06/03 22:40

问题及代码:

使用复制构造函数。  */      #include <iostream>  #include <cmath>  using namespace std;  class Triangle  {  public:      Triangle(double x=1.0, double y=1.0, double z=1.0): a(x),b(y),c(z) {}//构造函数        void setABC(double x, double y, double z);      double perimeter();//计算三角形周长      double area();//计算三角形面积      void setA(double x) {a = x;}      void setB(double y) {b = y;}      void setC(double z) {c = z;}      double getA() {return a;}      double getB() {return b;}      double getC() {return c;}        void showMessage();//三角形信息        bool isTriangle()      {          if(a+b > c && a+c > b && b+c > a)              return true;          else              return false;      }  private:      double a,b,c;  };  void Triangle::showMessage()  {          if(isTriangle())             {                 cout << "三条边为:" <<a<< "," <<b<< "," <<c<< endl;                 cout << "三角形的周长为:" <<perimeter() << "\t" << "面积为:" <<area() << endl;             }          else                 cout<<"不能构成三角形"<<endl;  }  void Triangle::setABC(double x, double y, double z)  {      a = x;      b = y;      c = z;  }  double Triangle::perimeter()  {      return a+b+c;  }  double Triangle::area()  {      double p = (a+b+c)/2;     return sqrt(p*(p-a)*(p-b)*(p-c));  };  int main()  {     Triangle tri1(3,4,5);     tri1.showMessage();       Triangle tri2(tri1);     tri2.showMessage();      return 0;  }  

运行结果:


0 0