隐式转换可能发生在对象的初始化中(包括由赋值间接产生的初始化),不可能由赋值直接产生
10 | MyClass( const MyClass &c); |
12 | MyClass & operator = ( const MyClass &c); |
21 | cout << "MyClass()" << endl; |
24 | MyClass::MyClass( int i) |
27 | cout << "MyClass(int i)" << endl; |
30 | MyClass::MyClass( const MyClass &c) |
33 | cout << "MyClass(const MyClass &c)" << endl; |
41 | MyClass & MyClass::operator =( const MyClass &c) |
44 | cout << "operator =(const MyClass &c)" << endl; |
51 | cout << "-------------------------------" << endl; |
53 | cout << "-------------------------------" << endl; |
55 | cout << "-------------------------------" << endl; |
58 | cout << "-------------------------------" << endl; |
60 | cout << "-------------------------------" << endl; |
结果:
MyClass()
-------------------------------
MyClass(int i)
-------------------------------
MyClass(const MyClass &c)
-------------------------------
MyClass(int i)
operator =(const MyClass &c)
-------------------------------
operator =(const MyClass &c)
-------------------------------