opover.cpp

来自「Think in C++ 2nd」· C++ 代码 · 共 35 行

CPP
35
字号
//: C12:Opover.cpp

// From Thinking in C++, 2nd Edition

// Available at http://www.BruceEckel.com

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

// Operator overloading syntax

#include <iostream>

using namespace std;



class Integer {

  int i;

public:

  Integer(int ii) { i = ii; }

  const Integer

  operator+(const Integer& rv) const {

    cout << "operator+" << endl;

    return Integer(i + rv.i);

  }

  Integer&

  operator+=(const Integer& rv){

    cout << "operator+=" << endl;

    i += rv.i;

    return *this;

  }

};



int main() {

  cout << "built-in types:" << endl;

  int i = 1, j = 2, k = 3;

  k += i + j;

  cout << "user-defined types:" << endl;

  Integer I(1), J(2), K(3);

  K += I + J;

} ///:~

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?