站在岁月的岸边,向过往打个水漂...
昨夜西风凋碧树,独上高楼,望尽天涯路.衣带渐宽终不悔,为伊消得人憔悴.众里寻他千百度,蓦然回首,那人却在灯火阑珊处...

c++重载运算符

class A
{

private:
int m_data;

public:
A(int n=0):m_data(n){}     // 有参、无参构造
A(const A& a) { *this = a; }// 拷贝构造

public:
A& operator= (const A& a) {    // 赋值运算符
    m_data = a.m_data;
    return *this;  
}
operator int() { reutrn m_data; }    // 重载类型强转运算符

A& operator+ (int num) {    // 加
     m_data += num;
     return *this; 
}

A& operator- (int num) {  // 减
     m_data -= num;
     return *this; 
}

A& operator++ () {    // 前加加
     ++m_data;
     return *this; 
}

A operator++ (int) { // 后加加
     return m_data++; 
}

A& operator-- () {    // 前减减
     --m_data;
     return *this; 
}

A operator-- (int) { // 后减减
     return m_data--; 
}

A& operator* (int num){
    if(!num) {
       count << "无意义:被乘数不能为0" << endl;
       m_data = 0;
    }
    else   
        m_data *= num;
    return *this;
}

A& operator/ (int num){
    if(!num) {
       count << "无意义:被除数不能为0" << endl;
       m_data = 0;
    }
    else   
        m_data /= num;
    return *this;
}
..... 其他都差不多

};

  

posted @ 2021-09-01 15:27  没味儿  阅读(52)  评论(0)    收藏  举报
12144