C++ Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
/* KeyWord_explicit.cpp C++关键字:explicit(显示) Author: Michael Joessy Date: 2017-06-07 Marks: 在C++程序中很少有人去使用explicit关键字,不可否认,在平时的实践中确实很少能用的上。 再说C++的功能强大,往往一个问题可以利用好几种C++特性去解决。 但稍微留心一下就会发现现有的MFC库或者C++标准库中的相关类声明中explicit出现的频率是很高的。 了解explicit关键字的功能及其使用对于我们阅读使用库是很有帮助的;而且在编写自己的代码时也可以尝试使用。 既然C++语言提供这种特性,我想在有些时候这种特性将会非常有用。 按默认规定,只用传一个参数的构造函数也定义了一个隐式转换。 原则上应该在所有的构造函数前加explicit关键字,当你有心利用隐式转换的时候再去解除explicit,这样可以大大减少错误的发生。 #include <iostream> class classA private: classA::classA() } classA::classA( int x, int y /*= 23*/ ) classA::~classA() } int main(void) cin.get(); |