C/C++学习笔记

4.0 C++远征:重载运算符

2016-11-18  本文已影响14人  青_阳

重载运算符

[TOC]

四、重载运算符

概念 : 给原有运算符赋予新功能。

本质 : 函数重载。

关键字 : operator

1.一元运算符重载

符号只与一个操作数进行运算。

Ⅰ -(负号)的重载(取反啊)

Ⅱ ++符号的重载

2.二元运算符重载

符号与两个个操作数进行运算。

Ⅰ +(加号)的重载

Ⅱ <<号的重载

Ⅲ [](索引)的重载

// Coordinate.hpp
class Coordinate {
  public:
    Coordinate(int x, int y);  
    int operator[](int index);
  private:
    int m_iX;
    int m_iY;
};

// Coordinate.cpp
int operator[](int index) {
  if(index == 0)
    return m_iX;
  if(index == 1)
    return m_iY;
}

// main.cpp
int main() {
  Coordinate coor(3, 5);
  
  cout << coor[0];  // coor.operator[](0);
  cout << coor[1];  // coor.operator[](1);
  
  return 0;
}
上一篇下一篇

猜你喜欢

热点阅读