explicit关键字的使用

来源:互联网 发布:淘宝供货商怎么做 编辑:程序博客网 时间:2024/06/05 08:33

在C++构造函数的调用时,经常会进行隐式转换,如果稍不留意可能会造成难以察觉的BUG,所以我们可以利用explicit关键字来阻止构造函数进行隐式转换。

#include <iostream>using namespace std;class Base{private:int Elem;public:explicit Base(int m);void Print();};Base::Base(int m){Elem=m;}void Base::Print(){cout<<Elem<<endl;}int main(){//Base b=12;        //Error 不能隐式转换Base b(12);       //OKb.Print();return 0;}


 

原创粉丝点击