慕桂英4014372
假设,你有一个类String:class String {public:
String(int n); // allocate n bytes to the String object
String(const char *p); // initializes object with char *p};现在,如果你尝试:String mystring = 'x';人物'x'将被隐式转换为int然后String(int)构造函数将被调用。但是,这并不是用户所期望的。因此,为了防止出现这种情况,我们将构造函数定义为explicit:class String {public:
explicit String (int n); //allocate n bytes
String(const char *p); // initialize sobject with string p};