C 习题与解析(重载-04)

文章作者 100test 发表时间 2007:03:10 16:58:55
来源 100Test.Com百考试题网


题6.设计一个三角形类Triangle,包含三角形三条边长的私有数据成员,另有一个重载运算符“ ”,以实现求两个三角形对象的面积之和。
解:
在Triangle类中设计一个友元函数operator (Triangle t1,Triangle t2),它重载运算符" ",返回t1和t2两个三角形的面积之和。
本题程序如下:
#include
#include
class Triangle
{
int x,y,z.
double area.
public:
Triangle(int i,int j,int k)
{
double s.
x=i.y=j.z=k.
s=(x y z)/2.0.
area=sqrt(s*(s-x)*(s-y)*(s-z)).
}
void disparea()
{
cout<<"Area="<}
friend double operator (Triangle t1,Triangle t2)
{
return t1.area t2.area.
}
}.
void main()
{
Triangle t1(3,4,5),t2(4,5,6).
double s.
cout<<"t1:". t1.disparea().
cout<<"t2:". t2.disparea().
s=t1 t2.
cout<<"总面积="<}
本程序执行结果如下:
t1:Area=6
t2:Area=9.92157
总面积=15.9216



相关文章


C 习题与解析(模板-02)
[二级C试题天天练]逻辑表达式
C 习题与解析(模板-01)
[二级C试题天天练]字符赋值
C 习题与解析(重载-04)
C 习题与解析(重载-03)
[二级C试题天天练]运算表达式问题
[二级C试题天天练]自加自减运算
C 习题与解析(重载-01)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛