C++operator两种用法【转】

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

又比如STL中的函数对象,重载(),如下所示 template<typename T)(const T& lhs, const T& rhs){ return lhs-rhs;} };
2 operator casting C++可能通过operator 重载隐式转换,格式如下: operator 类型T (),如下所示 class A { public:
1.operator overloading C++可能通过operator 重载操作符,格式如下:类型T operator 操作符 (),如比重载+,如下所示 template<typename T> class A { public:
const T operator + (const T& rhs) { return this->m_ + rhs; } private: T m_; };
我的是之前使用eclipse时异常关闭第二天早上起来就开始闪退双击就闪一下
C++operator两 种 用 法 【 转 】
C++中的operator,有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换)。下面分别进行介 绍:
operator B* () { return this->b_;} operator const B* () {return this->b_;} operator B& () {return *this->b_;} private: B* b_; };
A a; 当if(a),编译时,其中它转换成if(a.operator B*()),其实也就是判断 if(a.b_)
相关文档
最新文档