现在的位置: 首页 > 综合 > 正文

在C++中explicit关键字

2013年09月02日 ⁄ 综合 ⁄ 共 450字 ⁄ 字号 评论关闭

在C++中explicit作用:

explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。

explicit使用注意事项:

*explicit 关键字只能用于类内部的构造函数声明上。

*explicit 关键字作用于单个参数的构造函数。

* 在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换

 

如下面所示:

class MyClass
{
public:
MyClass( int num );
}
....
MyClass obj = 10; //ok,convert int to MyClass

在上面的代码中编译器自动将整型转换为MyClass类对象,实际上等同于下面的操作:

MyClass temp(10);
MyClass obj = temp;
class MyClass
{
public:
explicit MyClass( int num );
}
....
MyClass obj = 10; //err,can't non-explict convert

抱歉!评论已关闭.