(2)实验指导书P107 3
三、实验环境
联想计算机,Windows XP操作系统,Visual C++ 6.0
四、算法描述及实验步骤
(1)编写源程序。
(2)检查程序有无错误(包括语法错误和逻辑错误),有则改之。
(3)编译和连接,仔细分析编译信息,如有错误应找出原因并改正之。 (4)运行程序,分析结果。
(5)将调试好的程序保存在自己的用户目录中,文件名自定。
五、调试过程
在类Time中漏掉‘void gettime();‘语句导致错误。
六、实验结果
(1)
(2)
七、总结
(1)掌握了运算符重载的应用。 (2)了解到运算符重载的形式。
附录:
代码如下: (1)//sy6_1.cpp #include
{
public:
complex(){real=imag=0.0;}
complex(double r){real=r;imag=0.0;} complex(double r,double i){real=r;imag=i;} complex operator+(const complex &c); complex operator-(const complex &c); complex operator*(const complex &c); complex operator/(const complex &c); friend void print(const complex &c);
private:
double real,imag; };
inline complex complex::operator+(const complex &c) {
return complex(real+c.real,imag+c.imag); }
inline complex complex::operator-(const complex &c) {
return complex(real-c.real,imag-c.imag);
}
inline complex complex::operator*(const complex &c)
{
return complex(real*c.real-imag*c.imag,real*c.imag+imag*c.real); }
inline complex complex::operator/(const complex &c) {
return complex((real*c.real+imag*c.imag)/(c.real*c.real+c.imag*c.imag),
(imag*c.real-real*c.imag)/(c.real*c.real+c.imag*c.imag));
}
void print(const complex &c) {
if(c.imag<0)
cout< cout< } int main() { complex c1(2.0),c2(3.0,-5.0),c3; c3=c1+c2; cout<<\print(c3); c3=c1-c2; cout<<\print(c3); c3=c1*c2; cout<<\print(c3); c3=c1/c2; cout<<\ print(c3); c3=(c1+c2)*(c1-c2)*c2/c1; cout<<\print(c3); cout< return 0;} (2)//sy6_2.cpp #include using namespace std; class Time { public: Time(){hours=0;minutes=0;seconds=0;} Time(int h,int m,int s) { hours=h;minutes=m;seconds=s; } Time operator+(Time&); void gettime(); private: int hours,minutes,seconds; }; Time Time::operator+(Time& time) { int h,m,s; s=time.seconds+seconds; m=time.minutes+minutes+s/60; h=time.hours+hours+m/60; Time result(h,m`,s`); return result; } void Time::gettime() { cout< Time t1(8,51,40),t2(4,15,30),t3; t3=t1+t2; t3.gettime(); return 0;} 实验7 模板 一、实验目的和要求 (1)能够使用c++模板机制定义重载函数。 (2)能够实例化及使用函数模板。 (3)能够实例化和使用类模板。 (4)应用标准c++模板库(STL)通用算法和函数对象实现查找与排序。 二、实验内容和原理 (1)实验指导书P109 1 (2)实验指导书P112 4 三、实验环境 联想计算机,Windows XP操作系统,Visual C++ 6.0 四、算法描述及实验步骤 (1)编写源程序。 (2)检查程序有无错误(包括语法错误和逻辑错误),有则改之。 (3)编译和连接,仔细分析编译信息,如有错误应找出原因并改正之。 (4)运行程序,分析结果。 (5)将调试好的程序保存在自己的用户目录中,文件名自定。 五、调试过程