explicit禁止被用来执行隐式类型转换。仍可以进行显示转换
class B
{
public:
explicit B(int x= 0,bool b = true);
}
void doSomething(B obj) B obj; doSomething(obj) //没有问题 doSomething(28) //有问题,doSomething入参应该是B类类型,不是int类型,从int类型到B类型之前的隐式转换被禁止; doSomething(B(28)) //没有问题,使用B构造函数将int显示转换为一个B类型
青青园中葵,朝露待日晞。
阳春布德泽,万物生光辉。
常恐秋节至,焜黄华叶衰。
百川东到海,何时复西归?
少壮不努力,老大徒伤悲!