implicit
隐式,默认不写
explicit
显式,
构造函数中写入则代表无法进行隐式转换,必须按照规定的格式进行转换
example
explicit.h
class String{
public:
explicit String(int n) {};
String(const char *p) {};
};
explicit.cpp
static void test1()
{
String s1 = 'a'; // 错误:不能做隐式char->String转换
String s2(10); // 可以:调用explicit String(int n);
String s5("Fawlty"); // 可以:正常调用String(const char *p);
}