社区
C语言
帖子详情
运算符重载的前置版和后置版的区别?
mayuhao
2003-03-13 10:28:45
初学,
ESSENTIAL C++ P119:
class Triangular_iterator
{
public:
...
Triangular_iterator& operator++();
Triangular_iterator operator++(int);
...
}
书中对int有解释;
但不懂前者有“&”而后者无的原因
求教,谢谢!!
...全文
116
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++
运算符重载
详解[代码]
本文详细介绍了C++中
运算符重载
的概念和实现方法。主要内容包括:1.加号
运算符重载
,通过成员函数和全局函数两种方式实现自定义数据类型的相加运算;2.左移
运算符重载
,只能通过全局函数实现自定义数据类型的输出;3.递增
运算符重载
,区分
前置
和
后置
递增的实现方式;4.赋值
运算符重载
,解决深浅拷贝问题;5.关系
运算符重载
,实现自定义类型的比较操作;6.函数调用
运算符重载
,创建仿函数。文章还总结了何时使用全局函数或成员函数进行
运算符重载
,并提供了完整的代码示例。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章