多态性:运算符重载.docx
多态性:运算符重载1 .实验目的练习C+语言中重载运算符的方法,体会运算符重载带来的方便。2 .实验要求(1)掌握运算符重载的基本方法。(2)学习重载运算符为成员函数的方法。(3)学习重载运算符为友元函数的方法。3 .实验内容(1)将运算符+和-重载为complex类的成员函数。#include<iostream.h>class complex/复数类严明( public:/外部接口complex (double r=0.0, double i=0.0) /构造函数 real=r;imag=i;complex operator + complex operator - void display();private:double real;double imag;complex operator + complex operator - void display();private:double real;double imag;(complex c2) ; /+重载为成员函数(complex c2) ; /-重载为成员函数/输出复数/私有数据成员/复数实部/复数虚部);完成该类的实现并编译运行该程序。(2)将运算符+和-重载为complex类的友元函数。#include<iostream.h>class complex(public:complex(double r=0.0,double i=0.0) real=r; imag=i; /构造函数friend complex operator + (complex cl,complex c2);/重载运算符+为友元函数friend complex operator - (complex cl,complex c2);/重载运算符-为友元函数void display (); 显示复数的值private :/私有成员double real;double imag;);完成该类的实现并编译运行该程序。(3)完成以下的String类,并在主函数main()中测试它。class String(public:String(const char *str = NULL);/ constructorString(const String Mother);/ copy constructorString(void);/ destructorString & operate =(char *str);String & operate = (const String Mother) ; / 重载=运算符 int operator= (String &other) ;/ 重载=运算符int operator=(char *str);private:char*m_data;/ used for storing the stringintlength;);