社区
C语言
帖子详情
运算符重载时的参数是否一定需要引用??
hxn
2000-08-24 04:49:00
运算符重载时的参数是否一定需要引用??
所看例子都是这样??如果不是引用。编译有问题。
请讲讲。谢谢!
-- Programming is my life!
欢迎访问我的网页
http://hushui.yeah.net
是关于C编程和Linux的
...全文
552
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++
引用
和
运算符重载
目录创建
引用
变量将函数作为
引用
参数
将
引用
用于结构
引用
应用于类对象
引用
应用于
运算符重载
何
时
使用
引用
参数
为什么引入
运算符重载
?重载运算符的定义和使用重载限制 创建
引用
变量 C++和C都用&符号来表示变量的地址。C++给&符号赋予了另一个含义,将其用来声明
引用
。例如: int rats int & rodents=rats // make rodents an alias for rats(给rats取一个别名) &不是地址操作符,而是类型标识符的一部分,将rodents的类
C++语法——详解
运算符重载
运算符重载
是C++的一个重要特性。有了
运算符重载
,在代码编写
时
能更好的实现封装。 一.
运算符重载
介绍
运算符重载
,就是让原本已经存在的运算符有了新的用法和意义。 比如我们熟知的减号(-),原本是用来进行数字的相减处理。但经过
运算符重载
后,它可以用来进行其他类型的相减,像
时
间相减、日期相减、字符相减等等。只要是你能想到的,通过
运算符重载
基本都能够实现。 对于C++而言,
运算符重载
一般是作为类的成员函数出现。因为当我们
需要
运算符重载
时
,往往是类中一种特殊的类型
需要
处理或者类本身
需要
处理。就像我们可能会把.
运算符重载
函数的
参数
类型以及返回值类型
参数
类型: 大家都知道
运算符重载
函数的
参数
类型必须是
引用
类型,这是为什么呢。拿我们最常用的赋值
运算符重载
来说,如果
参数
类型不是
引用
类型,那么传参
时
就
需要
一个对象的副本,将实参复制到形参,这种复制是浅复制,并不会为形参分配内存空间,这就导致如果类中有指针类型,形参和实参的指针就指向同一块内存,再调用析构函数
时
就会出错。返回值类型: 同理返回值类型也要是
引用
类型,因为调用赋值
运算符重载
函数
时
也会创建
重载运算符
时
的
参数
和返回类型要用
引用
的说明
一·我们举个必须要用重载运算符和重载运算符
时
必须要使用
引用
的例子 #include #pragma pack(8) using namespace std; class Myclass { private: char* str; public: Myclass(char* str1 = "default string") { str = new char[strlen(
C语言
69,382
社区成员
243,073
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章