opconv.cpp

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

CPP
28
字号
//: C12:Opconv.cpp

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

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

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

// Op overloading conversion



class Three {

  int i;

public:

  Three(int ii = 0, int = 0) : i(ii) {}

};



class Four {

  int x;

public:

  Four(int xx) : x(xx) {}

  operator Three() const { return Three(x); }

};



void g(Three) {}



int main() {

  Four four(1);

  g(four);

  g(1);  // Calls Three(1,0)

} ///:~

⌨️ 快捷键说明

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