第一范文网 - 专业文章范例文档资料分享平台

C++程序设计实验6

来源:用户分享 时间:2025/6/11 15:00:37 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实验6运算符重载

实验目的

掌握运算符重载的规则;

掌握运算符成员函数与运算符友元函数的实现及应用; 学会定义类中单目和双目运算符的重载函数;

理解重载运算符的作用,学会对典型的运算符进行重载。

实验学时

本次实验需要2个学时。

实验要求

实验上机之前,根据实验内容要求,自行设计编写程序,完成预习报告。 实验上机时调试并修正程序。

当次上机结束前分析错误原因并给出实验结论,提交实验报告。

实验内容

1. 基础部分

(1) 定义复数类complex,包括私有数据成员实部real和虚部image。定义该 类的构造,拷贝构造,析构函数。为该类重载运算符 +,-(友元函数),前置和 后置++,--(成员函数),插入符和提取符 <<,>> (友元函数)。在main函数里 定义复数对象,测试重载的这些运算符。

2. 进阶部分

(2) 设计一个 mystring类,包括数据成员char * pstr;和int length;通过运算 符重载实现字符串的输入 >>、输出 <<、连接+=、赋值=、关系运算(==、!=、>、 <)、下标[]等运算。

/*( 1)定义复数类complex,包括私有数据成员实部 real和虚部image。定义该类的构造, 拷贝构

造,析构函数。

为该类重载运算符+,-(友元函数),前置和后置++,--(成员函数),插入符和提取符<< ,? (友元函数)。

在main函数里定义复数对象,测试重载的这些运算符。

#in clude

#in clude

using n amespace std; class Complex { public:

Complex(i nt real1=O,i nt image1=0) :real(real1),image(image1){} ~Complex() {};

friend Complex operator+(c onst Complex &a1, const Complex &a2); friend Complex operator-(c onst Complex &a1, const Complex &a2); Complex operator++(); Complex operator++(i nt); Complex operator--。; Complex operator--(i nt);

friend ostream& operator<<(ostream& os, const Complex&a3); friend istream& operator?(istrea m& is. Complex&a3);

private:

int real; int image; };

Complex operator+(c onst Complex &a1, const Complex &a2) {

retur n Complex(a1.real + a2.real, a1.image + a2.image); }

Complex operator-(c onst Complex &a1, const Complex &a2) {

return Complex(a1.real - a2.real, a1.image - a2.image); }

Complex Complex::operator++() {

++real; ++image; return *this; }

Complex Complex::operator++(i nt) {

Complex a = *this; ++(*this); return a;

Complex Complex::operator--() {

--real; --image; return *this;

}

Complex Complex::operator--(i nt) {

Complex a = *this; --(*this); return *this; }

ostream& operator<<(ostrea m& os, const Complex& a3) {

os<< a3.real << \return os; }

istrea m& operator?(istream& is, Complex&a3) {

is >> a3.real >> a3.image; return is; }

int mai n() {

Complex a4(4,5), a5(6,7),A,B; cout << \cout << \

cout << \请重新为a4,a5对象输入数据: cin >> a4;

I!

搜索更多关于: C++程序设计实验6 的文档
C++程序设计实验6.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4lus25fary4mg6283nif6msol1o4w700uy5_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top