新疆软件开发

本站首页 软件开发 成功案例 公司新闻 公司简介 客服中心 软件技术 网站建设
  您现在的位置: 新疆二域软件开发公司 >> 开发语言 >> 文章正文

在C++中成员函数如何实现操作符重载?

         通常对类本身的运算符重载
     如类nameclass的运算符函数名称operator op
    如x,y都是类nameclass的生成的对象,如果重载并实现了operator op
    我们可以做这样的计算x op y,编译器会自动翻译成如下x.operator op(y)
如op是重载的运算符是加法(+),那么可变成x+y,编译器会变成x.operator+(y)
计算顺序是:
x op y变成x=x op y,运算结果存入到x,
x.operator+(y)
第一个操作数是类的对象x,也就是隐含的对象指针this,
第二个操作数是参数y,对象X与的数据成员逐个一一相加,
返回结果:是计算完毕后返回到左边的对象,它返回的必须是对象,而不能是其它数据类型
.重载下标[]取值运算符实例
定义operator[]
class foo
{
private:
 vector<int> data;
public:
 int& operator[] (const size_t);
};
实现operator[]
int& foo::operator[](const size_t index)
{ return data[index]; }
作者:未知 | 文章来源:未知 | 更新时间:2008-1-15 16:43:32

  • 上一篇文章:

  • 下一篇文章:

  • 相关文章:
    C++基础知识:结构体数据的指针变量
    如何实现C与C++程序的相互调用
    基础学习:C++非成员函数实现操作符重载
    基础学习:C++重载输入输出符
    基础学习:C++重载下标结算符
    基础学习:C++中重载调用操作符
    基础学习:C++重载转换操作符operator (type)
    C++类复制控制学习
    C++类析构函数学习
    C++类构造函数学习
    软件技术
    · 开发语言
    · Java技术
    · .Net技术
    · 数据库开发
    最新文章  
    ·搜集整理的asp.net的验证方
    ·各种FOR循环结构的整理
    ·软件项目开发中应该考虑那
    ·搜集整理的javascript sel
    ·软件开发中项目经理有那些
    ·学习如何在Lambda表达式进
    ·C++基础知识:结构体数据的
    ·C#实现短信发送程序的例子
    ·sun最近修补了一部分java的
    ·rss定制的另外一种实现方式
    ·delphi实现利用arp欺骗来实
    ·基础学习:基于WF的流程框
    ·网络编程中怎样得知一次数
    ·如何逆序输出单链表?
    ·软件开发过程中的性能设计
    关于我们 | 软件开发 | 下载试用 | 客服中心 | 联系我们 | 友情链接 | 网站地图 | 新疆电子地图 | RSS订阅
    版权所有 © 2016 新疆二域软件开发网 www.k8w.net All Rights Reserved 新ICP备14003571号
    新疆软件开发总机:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆乌鲁木齐北京中路华联大厦A-5C 邮编:830000