首页 第11章 运算符重载

第11章 运算符重载

举报
开通vip

第11章 运算符重载null第11章 运算符重载 第11章 运算符重载 在C++语言中,用户除了可以实现成员函数的重载以外,还可以实现运算符的重载。可以实现重载功能的运算符有单目运算符、双目运算符以及赋值运算符等几种。在本章中,将向用户介绍关于C++运算符的相关知识点。通过本章的学习,用户学习到以下几个知识点: (1)C++常用运算符的介绍 (2)运算符重载的基础以及优点 (3)如何将运算符重载为成员函数 (4)如何操作单目运算符 (5)如何操作双目运算符 (6)如何使用赋值运算符11.1 C++运算符 11.1 C+...

第11章  运算符重载
null第11章 运算符重载 第11章 运算符重载 在C++语言中,用户除了可以实现成员函数的重载以外,还可以实现运算符的重载。可以实现重载功能的运算符有单目运算符、双目运算符以及赋值运算符等几种。在本章中,将向用户介绍关于C++运算符的相关知识点。通过本章的学习,用户学习到以下几个知识点: (1)C++常用运算符的介绍 (2)运算符重载的基础以及优点 (3)如何将运算符重载为成员函数 (4)如何操作单目运算符 (5)如何操作双目运算符 (6)如何使用赋值运算符11.1 C++运算符 11.1 C++运算符 C++运算符是指在C++语言中能够进行数学运算或者赋值等运算的操作符。通过这些运算符,用户可以实现各种类型的数学运算或者赋值运算等操作。因此,在本节中,将向用户介绍一些关于C++运算符的相关基础知识以及使用运算符的优点等。 11.1.1 C++常用运算符 11.1.1 C++常用运算符 用户在进行实际编程时,经常使用到的运算符包括了加、减、乘、除等数学运算符。当然,还包括了一些赋值运算符等。例如,用户常用的操作符“new”和“delete”也是赋值运算符。 由于在C++语言中,基本的运算符功能已经实现了。所以,用户在使用时,可以直接进行运算即可。例如,用户在实例程序中需要实现两个数字的所有数学运算。则可以直接使用已经预定义的数学运算符进行实现就可以了。 11.1.2 运算符重载基础 11.1.2 运算符重载基础 在C++语言中,用户只能够使用预定义的一些数学运算符和赋值运算符。如果用户需要在程序中,实现其他的一些运算功能,则应该将运算符进行重载,以便实现不同的功能。在本小节中,将向用户介绍关于运算符重载的一些基础知识。 通常情况下,运算符重载可以使用关键字“operator”进行声明。运算符重载的原型如下所示: 01 (类名)operator(运算符)(const 类名&); //运算符重载的原型 在上面的代码中,“类名”表示用户自定义的C++类名。而“运算符”则表示用户需要重载的运算符标识。例如,用户在代码中,可以使用上面的运算符重载原型对运算符“+”进行重载,以便实现两个字符串的连接功能。 11.1.3 运算符重载的优点 11.1.3 运算符重载的优点 通过前面对运算符重载的相关知识点的学习,用户已经对运算符重载的操作方法有了进一步的理解。那么,用户为什么会需要在程序中,实现运算符重载的相关功能了。在本小节中,将向用户介绍运算符重载的优点。 通常情况下,用户还可以使用同一种运算符去实现不同的运算功能。例如,运算符“+”,在数学运算中,可以被用于进行加法运算。而该运算符被用于两个字符串之间时,又可以被用来对字符串数据进行连接操作等。 总而言之,用户通过运算符重载可以实现很多功能。不仅可以扩展C++语言的一些预定功能,还能够实现用户的自定义功能。所以,运算符重载操作对于一个程序员而言是非常重要的一个知识点。 11.2 运算符重载为成员函数 11.2 运算符重载为成员函数 在C++语言中,用户可以在自定义类中,将运算符重载函数定义为类的成员函数。这样,用户可以非常方便地对这些运算符重载函数进行调用,也符合了面向对象编程的特点。因此,在本节中,将向用户讲解如何将运算符重载函数定义为成员函数和友元函数的方法及其调用、实现等相关的操作。11.2.1 运算符重载为成员函数 11.2.1 运算符重载为成员函数 用户在实例程序中,可以将运算符重载函数直接定义在C++类中,并设置相关的访问控制权限就可以将重载函数定义了类的成员函数了。 1.定义运算符重载成员函数 用户在定义自定义类时,可以直接将运算符重载函数定义在类中就可以实现重载成员函数了。 2.实现运算符重载成员函数 在前一小节中,用户已经在自定义类“demo”中定义了加、减、乘、除四种运算符的重载成员函数了。那么,现在用户可以在自定义类的外部对这些运算符重载成员函数进行具体功能的实现了。其实现的方法与前面所讲解的类成员函数的实现方法是相同的。 【本例代码位置:源文件\11\运算符重载成员函数\运算符重载成员函数.cpp】 11.2.2 运算符重载为友元函数 11.2.2 运算符重载为友元函数 在C++语言中,用户也可以将运算符重载函数定义为友元函数。这样,用户就可以在类的外部直接对类中的私有成员变量进行直接访问了。那么,在本小节中,将主要向用户介绍友元函数的相关定义方法和实现方法以及如何调用定义为友元函数的运算符重载函数实现运算功能。 友元函数之所以可以访问C++类中的私有成员变量,是因为友元函数就好像是在已经封装好的C++类上所开的一个小孔,以便外界对其内部进行访问。所以,友元函数并不属于C++类中的成员函数。因此,用户也不能够在友元函数中使用指针“this”。否则,程序会出现错误。 例如,用户将前一小节中的实例代码进行修改,添加友元函数的功能。具体的代码如下所示: 【本例代码位置:源文件\11\运算符重载为友元函数\运算符重载为友元函数.cpp】11.3 单目运算符重载 11.3 单目运算符重载 在C++语言中,单目运算符是指该运算符只被用于进行单个数据的运算,即参与运算的数据只有一个。用户在实际编程时,最为常用的单目运算符有前置运算符和后置运算符两种。因此,在本节中,将向用户分别介绍这两种单目运算符的定义以及使用方法等。11.3.1 前置单目运算符 11.3.1 前置单目运算符 前置单目运算符是指运算符在数据之前,即使用格式“运算符 运算数据”进行表示。例如,前置单目运算符“++a”,表示变量“a”在使用前会被加一。在本小节中,将向用户介绍前置单目运算符的相关使用方法等知识点。 1.前置单目运算符 通常情况下,运算符在运算数据之前,都表示运算数据在调用之前需要进行相应的运算。 2.前置单目运算符重载 前置单目运算符重载与前面所讲解的重载知识点相同。因此,用户可以直接将前置单目运算符功能封装到一个重载函数中即可。具体的代码如下所示: 【本例代码位置:源文件\11\前置单目运算符重载\前置单目运算符重载.cpp】 11.3.2 后置单目运算符 11.3.2 后置单目运算符 在C++语言中,用户常用的前置单目运算符也可以将运算符放到运算数据之后,作为后置单目运算符使用。其基本格式为“a++”,表示程序在调用变量“a”之后,才将变量值进行加1操作。在本小节中,将向用户介绍后置单目运算符的使用方法。 1.后置单目运算符 【本例代码位置:源文件\11\后置单目运算符\后置单目运算符.cpp】 2.后置单目运算符重载 【本例代码位置:源文件\11\后置单目运算符重载\后置单目运算符重载.cpp】 11.4 双目运算符重载 11.4 双目运算符重载 在C++语言中,双目运算符包括了前面所介绍过的加、减、乘、除等运算符。在本节中,将向用户介绍双目运算符的重载方法等。并且通过实例程序进行相关功能的讲解。11.4.1 双目运算符重载函数 11.4.1 双目运算符重载函数 双目运算符重载函数是指将双目运算符的功能封装带自定义类的成员函数中,并且将该成员函数定义为重载函数,方便类的实例对象进行调用。用户在实际编程时,常用的双目运算符包括了加、减、乘、除四种。 由于加、减、乘、除四种双目运算符的重载操作已经在前面的小节中进行详细地讲解。所以,在本小节中不再进行赘述。如果用户有什么问题可以对前面的基础知识再进行复习。 11.4.2 实例分析 11.4.2 实例分析 在本小节中,将通过实例程序对双目运算符的重载函数进行讲解。通过本小节的学习,希望用户能够熟练掌握双目运算符重载的相关方法。 【实例11.1】用户在自定义类中定义两个双目运算符的重载函数,分别实现字符数数据的相加和相减操作。具体的代码如下所示: 【本例代码位置:源文件\11\实例11.1\11.1cpp】 11.5 赋值运算符重载 11.5 赋值运算符重载 在C++语言中,用户常常用来开辟内存空间和删除内存空间的操作符“new”和“delete”,实际上是一种赋值运算符。所以,这两个赋值运算符也可以被用来进行运算符的重载操作。在本节中,将分别向用户介绍这两个赋值运算符的重载方法。11.5.1 重载new运算符 11.5.1 重载new运算符 赋值操作符“new”是用于在计算机内存中开辟内存空间所使用的,该操作符如果操作成功,则会返回以及开辟的内存空间的首地址。因此,该操作符是非常有用的。在本小节中,将向用户介绍操作符“new”的重载实现方法。 通常情况下,操作符“new”的重载格式如下所示: 01 static void operator new(size_t size); //操作符new的重载格式 在操作符“new”的重载格式中,关键字“operator”表示重载,而重载函数的参数列表中的类型“size_t”的定义则应该是“typedef unsigned int size_t”。 【实例11.2】用户在程序中,定义操作符“new”的重载成员函数,实现相应的功能。具体的代码如下所示: 【本例代码位置:源文件\11\实例11.2\11.2.cpp】 11.5.2 重载delete运算符 11.5.2 重载delete运算符 与操作符“new”作用相反的操作符是“delete”,其具体的操作方法也是相同的。因此,在本小节中,将向用户介绍操作符“delete”重载的相关方法。 例如,用户将操作符“delete”的重载方法封装到自定义类中,并且在类外进行实现。具体的代码如下所示: 【本例代码位置:源文件\11\重载delete运算符\重载delete运算符.cpp】 11.6 重载运算符++和--实例 11.6 重载运算符++和--实例 在前面的小节中,已经向用户介绍了运算符“++”和“--”的相关基础知识。并且通过实例代码对这两个运算符的重载操作进行了详细的讲解。因此,在本节中,将编写这两个运算符的重载操作实例程序。 【实例11.3】用户可以将前面分别实现的操作符“++”和“--”重载实例程序进行整理,并实现其功能。具体的代码如下所示: 【本例代码位置:源文件\11\实例11.3\11.3.cpp】11.7 小结 11.7 小结 在本章中,主要向用户介绍了C++运算符的基础知识以及如何将运算符重载为自定义类的成员函数的方法。并且对单目运算符的前置操作和后置操作分别进行了详细的讲解,通过讲解,用户应该对单目运算符的使用方法非常的熟悉。并能够熟练地进行程序编写。 在本章实例程序中,还分别向用户讲解了双目运算符和赋值运算符的使用方法。用户在实际进行编程时,可以直接对这些方法进行引用。 在本章的最后,通过重载运算符“++”和“--”实例程序的编写,主要向用户讲解了操作符“++”和“--”的重载方法以及如何实现前置操作和后置操作的相关方法。用户在学习本章实例程序时,应当尽量结合随 关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf 光盘中的实例代码进行学习。这样,能够提高用户的学习效率。
本文档为【第11章 运算符重载】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_847260
暂无简介~
格式:ppt
大小:83KB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2011-10-21
浏览量:25