欢迎来到天天文库
浏览记录
ID:1546578
大小:59.50 KB
页数:6页
时间:2017-11-12
《实验14 运算符重载c++》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验14运算符重载实验目的:1、理解什么是运算符重载;2、熟悉运算符函数的声明、定义、调用;3、掌握使用类的成员函数重载运算符方法;4、掌握使用友元函数重载运算符方法;5、熟悉算术运算符、关系运算符的重载方法;实验内容1、复数是大家中学时期就学过的知识,设a+bi和c+di是两个复数,则它们的四则运规则如下:请按下列步骤操作,体会什么是运算符重载,理解实现运算符使用的两种基本方法:(1)复制下列代码到开发工具并加以运行,观察整数的+、-运算是否成功?#includeusingnamespacestd;classComplex{private:doublereal,image
2、;//分别为实部、虚部public:Complex(doublerel=0,doubleimg=0){real=rel;image=img;}voiddisplay()//输出(a+b*i)、(a-b*i)、(a)等形式{cout<<"("<0)cout<<"+"<3、<<"i1+i2="<4、();cout<5、义Complexoperator-(Complex&c1,Complex&c2){Complextemp;temp.real=c1.real-c2.real;temp.image=c1.image-c2.image;returntemp;}(4)分析上述代码,结合小课ppt理解运算符函数的声明、定义、调用,熟悉运算符重载的两种基本方法:使用类成员函数和友元函数,注意它们之间参数的差异。2、参照上一题的程序,掌握用类成员函数重载运算符的方法要求:在程序的适当位置填写程序代码,使用成员函数方法实现下列运算符重载:(1)复数+实数(double)运算;(2)复数*复数运算。程序代码:#include6、usingnamespacestd;classComplex{private:doublereal,image;//分别为实部、虚部public:Complex(doublerel=0,doubleimg=0){real=rel;image=img;}voiddisplay()//输出(a+b*i)、(a-b*i)、(a)等形式{cout<<"("<0)cout<<"+"<7、mplexoperator+(Complex&c);//用成员函数重载};//成员函数的类外定义ComplexComplex::operator+(Complex&c){Complextemp;temp.real=real+c.real;temp.image=image+c.image;returntemp;}voidmain(){Complexc1(1,2),c2(3,-4),c3,c4;c3=
3、<<"i1+i2="<4、();cout<5、义Complexoperator-(Complex&c1,Complex&c2){Complextemp;temp.real=c1.real-c2.real;temp.image=c1.image-c2.image;returntemp;}(4)分析上述代码,结合小课ppt理解运算符函数的声明、定义、调用,熟悉运算符重载的两种基本方法:使用类成员函数和友元函数,注意它们之间参数的差异。2、参照上一题的程序,掌握用类成员函数重载运算符的方法要求:在程序的适当位置填写程序代码,使用成员函数方法实现下列运算符重载:(1)复数+实数(double)运算;(2)复数*复数运算。程序代码:#include6、usingnamespacestd;classComplex{private:doublereal,image;//分别为实部、虚部public:Complex(doublerel=0,doubleimg=0){real=rel;image=img;}voiddisplay()//输出(a+b*i)、(a-b*i)、(a)等形式{cout<<"("<0)cout<<"+"<7、mplexoperator+(Complex&c);//用成员函数重载};//成员函数的类外定义ComplexComplex::operator+(Complex&c){Complextemp;temp.real=real+c.real;temp.image=image+c.image;returntemp;}voidmain(){Complexc1(1,2),c2(3,-4),c3,c4;c3=
4、();cout<5、义Complexoperator-(Complex&c1,Complex&c2){Complextemp;temp.real=c1.real-c2.real;temp.image=c1.image-c2.image;returntemp;}(4)分析上述代码,结合小课ppt理解运算符函数的声明、定义、调用,熟悉运算符重载的两种基本方法:使用类成员函数和友元函数,注意它们之间参数的差异。2、参照上一题的程序,掌握用类成员函数重载运算符的方法要求:在程序的适当位置填写程序代码,使用成员函数方法实现下列运算符重载:(1)复数+实数(double)运算;(2)复数*复数运算。程序代码:#include6、usingnamespacestd;classComplex{private:doublereal,image;//分别为实部、虚部public:Complex(doublerel=0,doubleimg=0){real=rel;image=img;}voiddisplay()//输出(a+b*i)、(a-b*i)、(a)等形式{cout<<"("<0)cout<<"+"<7、mplexoperator+(Complex&c);//用成员函数重载};//成员函数的类外定义ComplexComplex::operator+(Complex&c){Complextemp;temp.real=real+c.real;temp.image=image+c.image;returntemp;}voidmain(){Complexc1(1,2),c2(3,-4),c3,c4;c3=
5、义Complexoperator-(Complex&c1,Complex&c2){Complextemp;temp.real=c1.real-c2.real;temp.image=c1.image-c2.image;returntemp;}(4)分析上述代码,结合小课ppt理解运算符函数的声明、定义、调用,熟悉运算符重载的两种基本方法:使用类成员函数和友元函数,注意它们之间参数的差异。2、参照上一题的程序,掌握用类成员函数重载运算符的方法要求:在程序的适当位置填写程序代码,使用成员函数方法实现下列运算符重载:(1)复数+实数(double)运算;(2)复数*复数运算。程序代码:#include
6、usingnamespacestd;classComplex{private:doublereal,image;//分别为实部、虚部public:Complex(doublerel=0,doubleimg=0){real=rel;image=img;}voiddisplay()//输出(a+b*i)、(a-b*i)、(a)等形式{cout<<"("<0)cout<<"+"<7、mplexoperator+(Complex&c);//用成员函数重载};//成员函数的类外定义ComplexComplex::operator+(Complex&c){Complextemp;temp.real=real+c.real;temp.image=image+c.image;returntemp;}voidmain(){Complexc1(1,2),c2(3,-4),c3,c4;c3=
7、mplexoperator+(Complex&c);//用成员函数重载};//成员函数的类外定义ComplexComplex::operator+(Complex&c){Complextemp;temp.real=real+c.real;temp.image=image+c.image;returntemp;}voidmain(){Complexc1(1,2),c2(3,-4),c3,c4;c3=
此文档下载收益归作者所有