写了个简单的类,请参考一下:#include
#include
#include
#include
class Triangle{
public :
double area;//面积
friend double operator+(Triangle & ,Triangle &);//用友元函数重载运算符+
Triangle(int a,int b,int c){
double p;
side1=a;
side2=b;
side1=c;
if( (a+b<=c) ||(a+c<=b)||(b+c<=a)){
printf("a,b,c can't buildup a triangle\n");
assert(0);
}
p=((double)(a+b+c))/2;
area=sqrt(p*(p-a)*(p-b)*(p-c));//海伦公式
printf("area=%lf\n",area);
}
private:
int side1;
int side2;
int side3;
};double operator+(Triangle &t1, Triangle &t2){
return t1.area+ t2.area;
} void main(){
double areaAdd;
Triangle t1(3,4,5);
Triangle t2(3,4,5);
areaAdd=t1+t2;
printf("面积之和:%lf\n",areaAdd);
//getchar();//test
}
文件1:tringle.h 代码:#ifndef _TRINGLE_H_
#define _TRINGLE_H_class CTringle
{
public:
//公共函数
CTringle();
CTringle(double da,double db,double dc);
double getLenth();
double getArea();
friend double operator+ (CTringle ca,CTringle cb);private:
double a;
double b;
double c;
double lenth;
double area;}; #endif 文件2. tringle.cpp 代码:#include
#include "tringle.h"
#include
#include
using namespace std;
CTringle::CTringle()
{
a = b = c =0;
}
CTringle::CTringle(double da,double db,double dc)
{
if ( da+db
cout<<"不能构成三角形"<
}
a = da;
b = db;
c = dc;
}
double CTringle::getArea()
{
area = sqrt(lenth*(lenth-a)*(lenth-b)*(lenth-c));
return area;
}
double CTringle::getLenth()
{
lenth = a+b+c;
return lenth;
}double operator+ (CTringle ca,CTringle cb)
{
return ca.area+cb.area;
}
3.文件3 主函数:#include
#include "tringle.h"
#include
using namespace std;void main(int argc,char* argv[])
{
CTringle a(12,90,80);
CTringle b(20,43,52); cout<