c++ 中 operator的两种用法

c++中的operator 有两种用法,一种是(operator overloading)运算符重载,一种是(operator casting)操作隐式转换

实例代码如下:

#include   
using namespace std;  
class num  
{  
protected:  
    int m_a;  
    int m_b;  
public:  
    num(int a, int b):m_a(a),m_b(b){}  
    num operator + (const num& n )  //用法1
    {  
        this->m_a += n.m_a;  
        this->m_b += n.m_b;  
        return *this;  
    }  
    operator bool()  		   //用法2
    {  
        if( this->m_a == 0 && this->m_b == 0 ) return false;  
        return true;  
    }  
    /*输入输出运算符只能定义成友元函数*/  
    friend ostream& operator << ( ostream& os, num& n );  
};  
 ostream& operator << ( ostream& os, num& n )  
 {  
     os <
出处: http://blog.csdn.net/zipper9527/article/details/7619229


你可能感兴趣的:(C++,Primer,Plus,学习心得)