explicit 关键字只能用于类内部的构造函数声明上。
explicit 关键字作用于单个参数的构造函数。
在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换。
class Circle
{
public:
explicit Circle(double r) : R(r) {}
};
未加explicit之前可以使用Circle A = 1.23;
加了之后只能使用Circle A = Circle(1.23);
explicit 关键字作用于单个参数的构造函数。
在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换。
class Circle
{
public:
explicit Circle(double r) : R(r) {}
};
未加explicit之前可以使用Circle A = 1.23;
加了之后只能使用Circle A = Circle(1.23);