欢迎来到天天文库
浏览记录
ID:33413941
大小:64.00 KB
页数:4页
时间:2019-02-25
《任务十二 运算符的重载——复数运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、计算机与电子工程系实训课任务单课程名称:C/C++语言程序设计上课时间:周星期节教师姓名:蔡茜班级名称:11级软件班本任务课时安排:2课时教学组织形式:任务驱动,理实结合,讲练结合、教学做一体化任务十二:运算符的重载——复数运算任务要求:1、理解运算符重载的概念2、掌握运算符重载的定义(双目运算符和单目运算符的重载)3、掌握运算符重载的形式(作为类的成员函数和友元函数)4、掌握常见运算符的重载方式任务描述:1、定义复数类CComplex2、为复数类添加“+”运算符重载函数作为成员函数3、在主函数中测试“
2、+”运算符的功能4、修改“+”运算符重载函数作为复数类的友元函数5、在主函数中重新测试“+”运算符的功能相关知识点任务环境:Windows系统电脑,VisualC++6.0,IE6.5以上浏览器任务实施:步骤一定义一个复数类CComplex//CComplex.hclassCComplex{private://定义复数的实部和虚部doublereal;doubleimag;public:CComplex(doublex=0.0,doubley=0.0);//定义带默认参数的构造函数voidprint()
3、;};//CComplex.cppCComplex::CComplex(doublex,doubley){real=x;imag=y;}CComplexCComplex::operator+(CComplex&c){4CComplext;t.real=real+c.real;//等价于t.real=this->real+c.real;t.imag=imag+c.imag;//等价于t.imag=this->imag+c.imag;returnt;}voidCComplex::print(){cout<<
4、'('<real+c.real;t.imag=this->imag+c.imag;returnt;}步骤三在主函数测试复数类的“+”运算符重载#include"Complex.h"voidmain(){CComplexa(3.0,4.0),b(10.5
5、,20.5),c;c=a+b//等价于c=a.operator+(b);c.print();}步骤四修改“+”运算符重载函数为类的友元函数//Complex.h文件classCComplex{private://定义复数的实部和虚部doublereal;doubleimag;public:CComplex(doublex=0.0,doubley=0.0);friendCComplexoperator+(CComplex&x,CComplex&y);voidprint();};//Complex.cpp文
6、件修改原来的运算符重载函数为:CComplexoperator+(CComplex&x,CComplex&y)//两个参数{CComplext;t.real=x.real+y.real;t.imag=x.imag+y.imag;returnt;4}注意:双目运算符重载作为友元函数时需要指定两个参数,而作为成员函数时只需要指定一个参数。任务总结:(1)运算符重载的定义:函数类型operator运算符(参数列表){函数体}(2)在对运算符进行重载过程中应遵循如下规则:l用户不可以自己定义新的运算符,只能对已
7、有的C++运算符进行重载。l重载不能改变运算符运算对象(即操作数)的个数,即单目运算符只能重载为单目运算符,多目运算符只能重载为多目运算符。l重载不能改变运算符的优先级和结合性。l重载运算符的功能应与该运算符作用于标准类型数据时所实现的功能类似,否则会影响程序的可读性。(3)双目运算符重载作为友元函数时需要指定两个参数,而作为成员函数时只需要指定一个参数。任务考核表:序号考核内容配分评分标准考核记录得分步骤一定义复数类CComplex10找到正确方法得分50%,方法完全使用正确再得分50%步骤二为复数类
8、添加“+”运算符重载函数作为成员函数25找到正确方法得分50%,方法完全使用正确再得分50%步骤三在主函数中测试“+”运算符的功能15找到正确属性得分50%,计算式完全正确再得分50%步骤四修改“+”运算符重载函数作为复数类的友元函数25找到正确方法得分50%,方法完全使用正确再得分50%步骤五在主函数中测试“+”运算符的功能15找到正确方法得分50%,方法完全使用正确再得分50%步骤六软件工程思想10找到正确方法得分50%,方法完全使用正
此文档下载收益归作者所有