operatoroverloadingconversion.cpp
来自「ThinkingC++中文版」· C++ 代码 · 共 30 行
CPP
30 行
//: C12:OperatorOverloadingConversion.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
class Three {
int i;
public:
Three(int ii = 0, int = 0) : i(ii) {}
};
class Four {
int x;
public:
Four(int xx) : x(xx) //把int类型转换成Four类型
{}
operator Three() const// 把Four类型转换成Three类型,且自动执行
{
return Three(x);
}
};
void g(Three) {}
void main() {
Four four(1);
g(four);
g(1); // Calls Three(1,0)
} ///:~
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?