风云小站|Connecting Lives With Infinite New Discoveries » 求助专区 » 帮忙看下这个C++程序

帮忙看下这个C++程序

manzhizh *
楼主 2007-05-22 17:53
私信 引用 编辑

帮忙看下这个C++程序

以下是题目和我写的代码,程序能运行,但未达到预想结果.请大家帮忙看下.
设计一个三角形类Triangle,包含三角形三条边长的私有数据成员,另有一个重载运算符"+",以实现求两个三角形对象的面积之和。
#include <iostream.h>
#include <math.h>
class Triangle
{
    float a,b,c,d,area;

public:
    Triangle(float a1,float b1,float c1){a=a1;b=b1;c=c1;}
    Triangle(){a=0;b=0;c=0;}
   
    float setarea()
    {d=1/2.0*(a+b+c);
    area=sqrt(d*(d-a)*(d-b)*(d-c));
    return area;
    }
    void print_area(){cout<<area<<endl;}
    Triangle operator + (Triangle x);
};
Triangle Triangle :: operator + (Triangle x)
{
Triangle z;
z.area=area+x.area;
return z;
}
void main()
{
Triangle obj1(3.0,4.0,5.0),obj2(6.0,8.0,1.0),obj3;
obj1.setarea();obj2.setarea();
obj3=obj1+obj2;
obj3.print_area();
}