C++ explicit关键字使用方法

解释

explicit关键字用于类中的构造函数,大白话:不是参数能自动进行类型转换吗,explicit就是关闭这种功能的。官话:即被explicit关键字修饰的类构造函数,不能进行自动地隐式类型转换,只能显式地进行类型转换。
只有一个参数的构造函数,或者构造函数有n个参数,但有n-1个参数提供了默认值,这样的情况才能进行类型转换。

代码

class Demo
{
public:
Demo();                     /* 构造函数1 */
explicit Demo(double a);        /* 示例代码2 */
Demo(int a,double b);           /* 示例代码3 */
~Demo();
void Func(void);
private:
int value1;
int value2;
};
THE END