社区
C语言
帖子详情
运算符重载的前置版和后置版的区别?
mayuhao
2003-03-13 10:28:45
初学,
ESSENTIAL C++ P119:
class Triangular_iterator
{
public:
...
Triangular_iterator& operator++();
Triangular_iterator operator++(int);
...
}
书中对int有解释;
但不懂前者有“&”而后者无的原因
求教,谢谢!!
...全文
111
4
打赏
收藏
运算符重载的前置版和后置版的区别?
初学, ESSENTIAL C++ P119: class Triangular_iterator { public: ... Triangular_iterator& operator++(); Triangular_iterator operator++(int); ... } 书中对int有解释; 但不懂前者有“&”而后者无的原因 求教,谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mayuhao
2003-03-13
打赏
举报
回复
原来如此
小笨和漂向北方
2003-03-13
打赏
举报
回复
呵呵,前置版本返回的是对象本身,即++后的那个,如++1,返回值是2
而后置版本要求返回是原来的对象,所以必须复制一个临时对象返回,如1++,返回值是1;
class A{
public:
int& operator++( );
int operator++(,int);
private:
int i;
};
int& operator++( ){
return ++i;
}
int operator++(,int){
int temp=i;
++i;
return temp;
}
当返回的是一个对象的话,返回引用可以节省的效率你知道吧?:)
mayuhao
2003-03-13
打赏
举报
回复
对啊,但我不懂的不是int而是&啊
小笨和漂向北方
2003-03-13
打赏
举报
回复
int& operator++( );
int operator++(,int);//后置版本只是多用一个int参数战位,表示后置版本而已:)
实验7 多态性和
运算符重载
.doc
多态性和
运算符重载
几个典型
运算符重载
(C++)(四)ppt课件.ppt
几个典型
运算符重载
(C++)(四)ppt课件.ppt
C++
运算符重载
详解[项目代码]
本文详细介绍了C++中
运算符重载
的概念、基本格式及两种实现方法(类内重载和类外重载)。通过具体代码示例,展示了二元运算符(如+、-、*、/等)和一元运算符(如++、<<等)的重载方式,并解释了
前置
与
后置
运算符的
区别
。此外,文章还探讨了等号
运算符重载
的必要性,以及浅拷贝与深拷贝的问题,强调了手工编写拷贝构造函数和等号
运算符重载
函数的重要性,以避免内存管理错误。
C++ 课程作业 多态性
运算符重载
-综合(Point类)
**【问题描述】** 请定义一个Point类,将
前置
++和
后置
++
运算符重载
为成员函数,实现成员变量m_x和m_y的加一操作 同时重载流插入运算符,实现对Point类对象的格式化输出。例如 Point p; cout<
各种
运算符重载
的示例
看完课本以后自己编写的联系,包括++,输入输出流等一些运算符的重载
C语言
70,040
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章