= 10;” 这句为什么是可以的呢?...在C++中, 如果的构造函数只有一个参数时,
那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象....// 这样也是不行的, 因为取消了隐式转换, 除非类实现操作符"="的重载
explicit关键字的作用就是防止类构造函数的隐式自动转换....上面也已经说过了, explicit关键字只对有一个参数的类构造函数有效, 如果类构造函数参数大于或等于两个时, 是不会产生隐式转换的,所以explicit关键字也就无效了...., explicit关键字依然有效, 此时,
当调用构造函数时只传入一个参数, 等效于只有一个参数的类构造函数, 例子如下:
class CxString // 使用关键字explicit声明