explicit
来源:互联网 发布:asmr软件 编辑:程序博客网 时间:2024/06/13 21:29
C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit
的构造函数不能在隐式转换中使用.
explicit构造函数是用来防止隐式转换的。请看下面的代码:
class Test1
{
public:
Test1(intn){num=n;}//普通构造函数
private:
intnum;
};
class Test2
{
public:
explicitTest2(intn){num=n;}//explicit(显式)构造函数
private:
intnum;
};
intmain()
{
Test1 t1=12;//隐式调用其构造函数,成功
Test2 t2=12;//编译错误,不能隐式调用其构造函数
Test2 t3(12);//显式调用成功
return0;
}
的构造函数不能在隐式转换中使用.
explicit构造函数是用来防止隐式转换的。请看下面的代码:
class Test1
{
public:
Test1(intn){num=n;}//普通构造函数
private:
intnum;
};
class Test2
{
public:
explicitTest2(intn){num=n;}//explicit(显式)构造函数
private:
intnum;
};
intmain()
{
Test1 t1=12;//隐式调用其构造函数,成功
Test2 t2=12;//编译错误,不能隐式调用其构造函数
Test2 t3(12);//显式调用成功
return0;
}
0 0
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- explicit
- category、block、protocol、SEL
- 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面
- Oracle用存储过程查询多张表的方法
- Error building Player: Win32Exception: ApplicationName='D:/xxxx/sdk\tools\zipalign.exe
- 逆向教程->软件积分逆向分析
- explicit
- easy ui不同选项卡之间冲突的问题
- 模拟赛 人偶师(时间限制:1000MS,空间限制:256MB)
- Netcat tutorial – command examples on linux
- 几种序列化协议(protobuf,xstream,jackjson,jdk,hessian)相关数据对比
- 第一次面试之TCL面试总结
- 恭喜我的博客开通!!!
- Sql优化使用整理
- 普通的内存泄露测试