码迷,mamicode.com
首页 > 编程语言 > 详细

C++ explicit关键字

时间:2015-06-01 11:24:52      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

C++中,explicit关键字用于修饰单参数的构造函数,用于避免隐式类型转换。

例如,当不适用explicit关键字修饰类的构造函数时:

class A
{
public:
    A(int initalValue=0);
private:
    int storedValue;
};

此时,主函数代码:

int main()
{
    A m =3;

}

main函数是可以正常运行的,但是当用explicit修饰构造函数时,

class A
{
public:
    explicit A(int initalValue = 0);
private:
    int storedValue;
};

仍然调用主函数则会报错:无法从"int"转换为"A"。

因此,此时类对象的初始化必须采用如下形式:

A m(3);

 

C++ explicit关键字

标签:

原文地址:http://www.cnblogs.com/acode/p/4543290.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!