社区
C语言
帖子详情
运算符重载时的参数是否一定需要引用??
hxn
2000-08-24 04:49:00
运算符重载时的参数是否一定需要引用??
所看例子都是这样??如果不是引用。编译有问题。
请讲讲。谢谢!
-- Programming is my life!
欢迎访问我的网页
http://hushui.yeah.net
是关于C编程和Linux的
...全文
544
7
打赏
收藏
运算符重载时的参数是否一定需要引用??
运算符重载时的参数是否一定需要引用?? 所看例子都是这样??如果不是引用。编译有问题。 请讲讲。谢谢! -- Programming is my life! 欢迎访问我的网页 http://hushui.yeah.net 是关于C编程和Linux的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cber
2001-06-03
打赏
举报
回复
xubin_sh(徐彬)和graygu(graygu)说的都对:)
graygu
2001-06-03
打赏
举报
回复
只有返回值是Ivlaue(左值)时,才用到参数引用。
xyk_king
2001-06-03
打赏
举报
回复
你说的是参数的引用还是引用返回值,我想你说的是参数的引用吧,但不是一定要那样吧,只有当需要引用的时候才用吧!
vcgreener
2000-08-28
打赏
举报
回复
//运算符重载时的参数是否一定需要引用??
我觉得不一定需要引用。这应该是关于函数形参与实参的值传递问题。
//所看例子都是这样??
不会吧。
//如果不是引用。编译有问题。
能说说你是怎么用的吗?
xubin_sh
2000-08-25
打赏
举报
回复
jhb说的不错,因为只有引用可以作为l-value
jhb
2000-08-24
打赏
举报
回复
不是一定要返回引用,只是在如cout<<j<<k这种连续使用的情况下会出现问题。因为前个操作符的返回是作为后一个操作符的参数使用的,可能会类型不匹配的。
Kevin_qing
2000-08-24
打赏
举报
回复
不是吧,应该不要的
如...
void operator delete(void *ptr);
叙述讲解C++编程
本书作者根据自己学习C++的亲身体会及多年教学经验,用简单的例子和简练的叙述讲解C++编程,别具特色。 全书共分十八章,内容涉及对象的演化、数据抽象、隐藏实现、初始化与清除、函数重载与缺省
参数
、输入输出流介绍、常量、内联函数、命名控制、
引用
和拷贝构造函数、
运算符重载
、动态对象创建、继承和组合、多态和虚函数、模板和包容器类、多重继承、异常处理和运行
时
类型识别。 本书作为正式教材和自学用书均非常优秀,作为程序设计者的参考用书亦极为合适。
零起点学通C++多媒体范例教学代码
目录 第1篇初级篇 第1章 初识C++ 1.1 c++简介 1.2 C++与C的区别 1.3 学习c++之前
需要
先学C吗 1.4 c++与其他语言的区别 1.5 c++的版本以及安装问题 第2章 做一个最简短的C4-+程序 2.1 简单的屏幕输出小程序 2.2 输出语句的使用 2.3 std::介绍 2.4 iostream与iostream.h的区别 2.5 重名问题 2.6 注释 2.7 总结 第3章 初步了解函数 3.1 一个简单的函数 3.2 函数的传参 3.3 函数的返回值、
参数
与变量 3.4.函数的声明与定义 3.5 局部变量 3.6 全局变量 3.7 总结 第4章 C4-+数据类型 4.1 变量的定义 4.2 将变量及数据存储在内存中 4.3 布尔型变量 4.4 字符型变量 4.5 wchart双字符型变量 4.6 整型概述 4.7 整型变量的定义 4.8 浮点型变量 4.9 常量 4.10枚举型常量 第5章 if语句与运算符 5.1 语句的定义 5.2 块的定义 5.3 表达式的定义 5.4 运算符的定义 5.4.1 赋值运算符的定义 5.4.2 数学运算符的定义 5.4.3 赋值运算符与数学运算符的联合 5.5 自加与自减 5.5.1 前置 5.5.2 后置 5.6 表达式的优先级 5.7 关系运算符 5.8 if语句 5.8.1 else语句 5.8.2 elseif语句 5.8.3 if语句的嵌套 5.9 逻辑运算符及其使用 5.9.1 逻辑“与” 5.9.2 逻辑“或” 5.9.3 逻辑“非” 5.9.4 逻辑运算符的优先级 5.9.5 运算式的真假关系 5.1 0三目运算符 5.1 0.1 三目运算符的优先问题 5.1 0.2 三目运算符的使用问题 5.1 0.3 三目运算符的型别问题 5.1 0.4 三目运算符在字符型变量中的应用 5.1 1复杂嵌套的if语句 5.1 2总结 第6章 面向对象 6.1 面向对象程序语言的主要特征 6.2 类、对象和成员 6.3 类、对象和成员的使用方法及区别 6.3.1 声明一个类 6.3.2 命名习惯 6.3.3 定义一个对象 6.3.4 类与对象的区别 6.3.5 对象与成员的关系 6.3.6 不要给类赋值 6.3.7 对象只能调用类中存在的方法 6.4 公有 6.5 私有 6.6 成员函数的声明和定义 6.7 内联函数 6.7.1 普通内联函数 6.7.2 内联成员函数 6.8 头文件与源文件 6.9 const成员函数 6.10构造函数 6.11默认构造函数 6.12析构函数 6.13析构对象数组 6.14总结 第7章 循环语句 7.1 循环语句的前身——goto语句 7.2 慎用goto语句 7.3 while语句 7.3.1 带运算符的while语句 7.3.2 以字符为条件的while语句 7.3.3 限定while循环的次数 7.3.4 continue语句 7.3.5 break语句 7.3.6 永不休止的while循环 7.4. do……while循环 7.5 for循环 7.5.1 灵活的for循环 7.5.2 条件为空的for循环 7.5.3 执行为空的for循环 7.5.4 嵌套的for循环 7.6 switch语句 7.6.1 switch语句常见错误 7.6.2 switch的菜单功能 7.7 总结 第8章 指针 8.1 什么是地址 8.2 用指针来保存地址 8.2.1 空指针 8.2.2 指针与变量类型 8.2.3 用指针来访问值 8.2.4 指针地址、指针保存的地址和 该地址的值 8.2.5 指针对数值的操作 8.2.6 更换指针保存的地址 8.3 为什么使用指针 8.3.1 栈和堆 8.3.2 用指针创建堆中空间 8.3.3 用指针删除堆中空间 8.4 动态内存 8.4.1 内存泄漏 8.4.2 在堆中创建对象 8.4.3 在堆中删除对象 8.4.4 访问堆中的数据成员 8.4..5 在构造函数中开辟内存空间 8.4.6 对象在栈与堆中的不同 8.5 this指针 8.6 指针的常见错误 8.7 指针运算 8.7.1 指针的加减运算 8.7.2 指针的赋值运算 8.7 _3指针的相减运算 8.7.4 指针的比较运算 8.8 指针 8.8.1 常量指针 8.8.2 指向常量的指针 8.8.3 指向常量的常指针 8.9 总结 第9章
引用
9.1 什么是
引用
9.1.1
引用
的地址 9.1.2
引用
就是别名常量 9.1.3
引用
对象 9.1 4空
引用
9.2 函数的
参数
传递 9.2.1 按值传递 9.2.2 按址传递 9.2.3 按别名传递 9.2.4 让函数返回多个值 9.3 传递对象 9.3.1 按值来传递对象 9.3.2 利用指针来传递对象 9.3.3 利用cost指针来传递对象 9.3.4 利用
引用
来传递对象 9.3.5 到底是使用
引用
还是指针 9.3.6
引用
和指针可以一块用 9.4
引用
应注意的问题 9.4.1
引用
容易犯的错误 9.4.2
引用
一个按值返回的堆中对象 9.4 -3
引用
一个按别名返回的堆中对象 9.4.4 在哪里创建,就在哪里释放 9.5 总结 第10章 深入函数 10.1 函数重载 10.1.1 普通函数的重载 10.1.2 成员函数的重载 10.2 函数的默认
参数
10.3 重载构造函数 10.3.1 成员变量的赋值与初始化 10.3.2 成员变量的初始化与构造函数 10.3.3 复制构造函数 10.3.4 构造函数和new运算符 10.3.5 再谈默认构造函数 10.4.析构函数和delete运算符 10.4..1 默认析构函数 10.4.2 调用构造函数进行类型转换 10.5 浅层复制构造函数 10.6 深层复制构造函数 第11章
运算符重载
11.1
运算符重载
11.2 在成员函数中实现自加 11.3 重载前置自加运算符 11.4 创建临
时
对象 11.5 创建无名临
时
对象 11.6 取消创建临
时
对象 11.7 重载后置自加运算符 11.8 重载加法运算符函数operator+ 11.9 重载赋值运算符函数operator 11.10转换类型运算符 11.10.1 温习调用构造函数实现的类型转换 11.10.2 通过构造函数将变量转换为一个对象的成员变量 11.10.3 通过operator关键字进行转换 11.11什么可以重载,什么不可以重载 第12章 继承 12.1 什么是继承和派生 12.1.1 复杂的继承和派生 12.1.2 继承和派生如何在C++中实现 12.1.3 继承的种类及语法 12.1.4 单一继承 12.2 公有型、保护型和私有型 12.3 访问权限 12.4 多重继承 12.5 继承的构造与析构 12.6 合理利用基类构造函数 12.7 继承和重载的两义性问题 12.7.1 多重继承容易产生两义性 12.7.2 继承中的重载 12.7.3 两义性的归属问题 12.7.4 减少两义性产生的混淆问题 12.7.5 虚基类不会产生两义性 12.8 总结 第13章 虚函数 13.1 指向子对象的父指针 13.2 虚函数 13.3 拳击游戏 13.4 继承
是否
可以实现多态性 13.5 在编译
时
的静态联编 13.6 在运行
时
的静态联编 13.7 在运行
时
的动态联编 13.8 在编译
时
的动态联编 13.9 调用虚函数 13.9.1 在虚函数中调用成员函数 13.9.2 3种调用虚函数的方式比较 13.10被继承的虚函数仍然是虚函数 13.11系统是如何调用虚函数的 13.12在虚函数中使用成员名限定 13.13虚析构函数 13.14总结 第14章 数组 14.1 数组的基本用法 14.1.1 什么是数组 14.1.2数组元素 14.1.3数组下标越界 14.1.4 倒序输出 14.1.5 将数组的下标定义为常量 14.1.6 手动操作数组元素 14.1.7 数组的初始化 14.2 数组的用途 14.2.1 求平均考试成绩 14.2.2 兔子繁殖问题 14.2.3 数字排序问题 14.3 数组在内存中的分布 14.4.输出数组名 14.5 数组名与函数 14.6 传递与接收 14.7 数组与函数 14.7.1 函数传参实例一——求数组所有元素的和 14.7.2 函数传参实例二——用递增法查找数据 14.7.3 函数传参实例三——用二分算法查找数据 14.7.4 函数传参实例四——判断数组
是否
按照顺序排列 14.7.5 函数传参实例五——判断数组排列方式后执行不同的函数 14.8 数组在对象中的传参 14.9 对象数组 14.10 在对象数组中初始化成员变量 14.11 指针数组 14.12 枚举常量与数组 14.13 多维数组 14.14 多维数组的初始化 14.15 字符数组 14.16 重载数组下标操作符 14.17 总结 第15章 链表 15.1 声明链表结构 15.2 简单的图书链表 15.2.1 图书链表 15.2.2 类的链表 15.3 动态链表 15.3.1 动态链表的建立 15.3.2 解决输入字符造成死循环的问题 15.3.3 动态链表的显示 15.3.4 动态链表的删除 第16章 多态性 第17章 类的特殊成员 第2篇 高级篇 第19章 代码重用 第20篇 高级篇 第20章 友元类与嵌套类 第21章 流 第22章 命名空间 第23章 模板 第24章 异常和错误处理 第25章 补充知识 附录A ASCII码对照表 附录B C++的关键字 附录C C++常用头文件列表 附录D 运算符的优先级 后记
C++
引用
和
运算符重载
目录创建
引用
变量将函数作为
引用
参数
将
引用
用于结构
引用
应用于类对象
引用
应用于
运算符重载
何
时
使用
引用
参数
为什么引入
运算符重载
?重载运算符的定义和使用重载限制 创建
引用
变量 C++和C都用&符号来表示变量的地址。C++给&符号赋予了另一个含义,将其用来声明
引用
。例如: int rats int & rodents=rats // make rodents an alias for rats(给rats取一个别名) &不是地址操作符,而是类型标识符的一部分,将rodents的类
运算符重载
函数的
参数
类型以及返回值类型
参数
类型: 大家都知道
运算符重载
函数的
参数
类型必须是
引用
类型,这是为什么呢。拿我们最常用的赋值
运算符重载
来说,如果
参数
类型不是
引用
类型,那么传参
时
就
需要
一个对象的副本,将实参复制到形参,这种复制是浅复制,并不会为形参分配内存空间,这就导致如果类中有指针类型,形参和实参的指针就指向同一块内存,再调用析构函数
时
就会出错。返回值类型: 同理返回值类型也要是
引用
类型,因为调用赋值
运算符重载
函数
时
也会创建
C++语法——详解
运算符重载
运算符重载
是C++的一个重要特性。有了
运算符重载
,在代码编写
时
能更好的实现封装。 一.
运算符重载
介绍
运算符重载
,就是让原本已经存在的运算符有了新的用法和意义。 比如我们熟知的减号(-),原本是用来进行数字的相减处理。但经过
运算符重载
后,它可以用来进行其他类型的相减,像
时
间相减、日期相减、字符相减等等。只要是你能想到的,通过
运算符重载
基本都能够实现。 对于C++而言,
运算符重载
一般是作为类的成员函数出现。因为当我们
需要
运算符重载
时
,往往是类中一种特殊的类型
需要
处理或者类本身
需要
处理。就像我们可能会把.
C语言
69,371
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章