您的位置:首页 > 其它

explicit关键字

2015-10-20 09:50 232 查看
一个参数的构造函数,则系统会将参数对应类型自动转换为指定类型,

如下:

class MyClass

{

public:

MyClass( int num );

}



MyClass obj = 10; // OK

系统能够自动根据构造函数MyClass( int num )将int类型转换为MyClass类型;这就是隐式转换。



那么,对应的就有显示转换,这就是explicit关键字的作用,

如下:

class MyClass

{

public:

explicit MyClass( int num );

}



那么,

MyClass obj = 10; // Fail

因为该转换不会自动进行,如果需要,则必须进行显示转换,如下:

MyClass obj(10);

或者

MyClass obj = static_cast<int>10;

FROM:http://blog.csdn.net/calm_agan/article/details/6305794
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: