一、填空题
1、在下列程序的空格处填上适当的字句,使输出为:0,2,10。
#include <iostream>
#include <math.h>
class Magic
{double x;
public:
Magic(double d=0.00):x(fabs(d))
{}
Magic operator+(__const Magic& c____)
{
return Magic(sqrt(x*x+c.x*c.x));
}
__friend std::ostream&_____operator<<(ostream & stream,const Magic & c)
{ stream<<c.x;
return stream;
}
};
int main()
{Magic ma;
cout<<ma<<", "<<Magic(2)<<", "<<ma+Magic(-6)+
Magic(-8)<<endl;
}
二、编程题
1、 定义复数类的加法与减法,使之能够执行下列运算:
Complex a(2,5),b(7,8),c(0,0);
c=a+b;
c=4.1+a;
c=b+5.6;
2、 编写一个时间类,实现时间的加、减、读和输出。
3、 增加操作符,以允许人民币与double型数相乘。
friend money operator*(const money&,double);
friend money operator*(double,const money&);
注意:两个money对象不允许相乘。