帮忙看下这个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(); } |