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

C++——explicit

时间:2018-12-09 21:05:12      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:public   bsp   code   c++   div   nbsp   class   exp   test   

explicit构造函数是用来防止隐式转换的。请看下面的代码:

class Test1
{
public:
    Test1(int n)
    {
        num=n;
    }//普通构造函数
private:
    int num;
};
class Test2
{
public:
    explicit Test2(int n)
    {
        num=n;
    }//explicit(显式)构造函数
private:
    int num;
};
int main()
{
    Test1 t1=12;//隐式调用其构造函数,成功
    Test2 t2=12;//编译错误,不能隐式调用其构造函数
    Test2 t2(12);//显式调用成功
    return 0;
}

 

C++——explicit

标签:public   bsp   code   c++   div   nbsp   class   exp   test   

原文地址:https://www.cnblogs.com/yrm1160029237/p/10093122.html

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