fout.close();
}
7、以下程序用友元函数实现复数加和复数赋制运算,完成程序。
#include
classcomplex{
private:
doublereal,image;
public:
complex(){real=0;image=0;}
complex(doubler,doublei){real=r;image=i;}
friendcomplexoperator+(complex&a,constcomplex&b);
complex&operator=(complex&c);
voidprint();
};
complexoperator+(complex&a,constcomplex&b)
{
returncomplex(_a.real+b.real,a.image+b.image_);
}
complex&complex:
:
operator=(complex&c)
{
real=c.real;
imag=c.imag;
return*this;
}
voidcomplex:
:
print()
{
cout<}
voidmain()
{complexc1,c2(1.5,4.0),c3(6.5,-2.8);
complexc4=c2+c3;
c1=c4;
c1.print();
c4.print();
}
8、下面是利用运算符重载实现字符串赋值(=)的程序,请在空白处填入合适的内容。
#include
#include
classCstring
{char*s;
public:
Cstring(char*s1=0){
s=newchar[strlen(s1)+1];
strcpy(s,s1);
}
__Cstringoperator=(Cstring&s1);__
voidlist(){cout<
};
CstringCstring:
:
operator=(Cstring&s1)
{
deletes;
s=newchar[strlen(s1.s)+1];
strcpy(s,s1.s);
__return*this;_
}
voidmain()
{
Cstringcstr1("abcd"),cstr2("1234");
____cstr1=cstr2;____
cstr1.list();
}
五、编程题
1、从由键盘输入的若干整数中找出其中最大的数并输出。
当输入为负数时结束输入。
答:
#include
voidmain()
{
inta,