explicit作用详解代码

上一篇讲了转换构造函数有什么用途,知道了转换构造函数经常会在不经意就被调用,当不希望发生转换时,哪有什么办法可以让它不要隐式调用转换吗?

是有的,就是关键字explicit作用。

以上一篇代码来修改,来介绍explicit:

A a2 = Num; 这句代码编译通不过,说明没有办法把int类型转成A类型,不能隐式调用转换构造函数。

可以看出转换构造函数前加explicit后,就没有转换功能,只是单纯的带参数构造函数。

这样做的好处理,可以防止程序的隐式调用带来的错误。有很多时候并不是要转换,有可能是写错代码了。

explicit关键字用于转换运算符