ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
c++提供了关键字explicit,禁止通过构造函数进行的隐式转换。声明为explicit的构造函数不能在隐式转换中使用。 [explicit注意] * explicit用于修饰构造函数,防止隐式转化。 * 是针对单参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造)而言。 ~~~ class MyString{ public: explicit MyString(int n){ cout << "MyString(int n)!" << endl; } MyString(const char* str){ cout << "MyString(const char* str)" << endl; } }; ~~~