欢迎来到天天文库
浏览记录
ID:57207321
大小:34.00 KB
页数:8页
时间:2020-08-06
《C程序设计实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验6运算符重载实验目的l掌握运算符重载的规则;l掌握运算符成员函数与运算符友元函数的实现及应用;l学会定义类中单目和双目运算符的重载函数;l理解重载运算符的作用,学会对典型的运算符进行重载。实验学时本次实验需要2个学时。实验要求l实验上机之前,根据实验内容要求,自行设计编写程序,完成预习报告。l实验上机时调试并修正程序。l当次上机结束前分析错误原因并给出实验结论,提交实验报告。实验内容1.基础部分(1)定义复数类complex,包括私有数据成员实部real和虚部image。定义该类的构造,拷贝构造,析构函数。为该类重载运算符+,-(友元函数),前置和后置++,--(成员函
2、数),插入符和提取符<<,>>(友元函数)。在main函数里定义复数对象,测试重载的这些运算符。2.进阶部分(2)设计一个mystring类,包括数据成员char*pstr;和intlength;通过运算符重载实现字符串的输入>>、输出<<、连接+=、赋值=、关系运算(==、!=、>、<)、下标[]等运算。/*(1)定义复数类complex,包括私有数据成员实部real和虚部image。定义该类的构造,拷贝构造,析构函数。为该类重载运算符+,-(友元函数),前置和后置++,--(成员函数),插入符和提取符<<,>>(友元函数)。在main函数里定义复数对象,测试重载的这些运
3、算符。#include#includeusingnamespacestd;classComplex{public:Complex(intreal1=0,intimage1=0):real(real1),image(image1){}~Complex(){};friendComplexoperator+(constComplex&a1,constComplex&a2);friendComplexoperator-(constComplex&a1,constComplex&a2);Complexoperator++();Complexoper
4、ator++(int);Complexoperator--();Complexoperator--(int);friendostream&operator<<(ostream&os,constComplex&a3);friendistream&operator>>(istream&is,Complex&a3);private:intreal;intimage;};Complexoperator+(constComplex&a1,constComplex&a2){returnComplex(a1.real+a2.real,a1.image+a2.image);}Complex
5、operator-(constComplex&a1,constComplex&a2){returnComplex(a1.real-a2.real,a1.image-a2.image);}ComplexComplex::operator++(){++real;++image;return*this;}ComplexComplex::operator++(int){Complexa=*this;++(*this);returna;}ComplexComplex::operator--(){--real;--image;return*this;}ComplexComplex::o
6、perator--(int){Complexa=*this;--(*this);return*this;}ostream&operator<<(ostream&os,constComplex&a3){os<>(istream&is,Complex&a3){is>>a3.real>>a3.image;returnis;}intmain(){Complexa4(4,5),a5(6,7),A,B;cout<<"a4:"<7、<>a4;cin>>a5;cout<<"重新输入后a4:"<
7、<>a4;cin>>a5;cout<<"重新输入后a4:"<
此文档下载收益归作者所有