| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:一个C++重载问题
只看楼主 加入收藏
无名小卒
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2004-12-26
收藏
 问题点数:0 回复次数:0 
一个C++重载问题
题目:设计一个三角形类Triangle,包含三角形3条边长的私有数据成员,另有一个重载运算符+,以实现两个三角形的面积和。

我的写法如下:
#include <iostream.h>
#include<math.h>
class Triangle
{int a,b,c;
double S;
public:
Triangle(int i,int j,int k)
{a=i;
b=j;
c=k;
S=sqrt((1/2.0)*(a+b+c)*((1/2.0)*(a+b+c)-a)*((1/2.0)*(a+b+c)-b)*((1/2.0)*(a+b+c)-c));
}
Triangle(Triangle &);
int geta()
{return a;}
int getb()
{return b;}
int getc()
{return c;}
friend float fd(Triangle &n,Triangle &p,Triangle &q);
void operator+(Triangle);
void display();
};
float fd(Triangle &n,Triangle &p,Triangle &q)
{double a=n.a;
double b=p.b;
double c=q.c;
return float(sqrt((1/2.0)*(a+b+c)*((1/2.0)*(a+b+c)-a)*((1/2.0)*(a+b+c)-b)*((1/2.0)*(a+b+c)-c)));
}
void Triangle::operator +(Triangle &m)
{S+=m.S;
return S;
}
void Triangle::display()
{double S=sqrt((1/2.0)*(a+b+c)*((1/2.0)*(a+b+c)-a)*((1/2.0)*(a+b+c)-b)*((1/2.0)*(a+b+c)-c));
 cout<<"S="<<S<<endl;}
void main()
{Triangle fd1(3,4,5);
Triangle fd2(6,8,10);
fd1.display();
fd2.display();
Triangle fd3=fd1+fd2;
fd3.display();
}

实在不知道错误是怎么回事,请高手帮忙解决!急 急!!!!!
搜索更多相关主题的帖子: 重载 
2005-05-14 21:08
快速回复:一个C++重载问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022353 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved