C++におけるキーワードexplicitの役割

1403 ワード

     C++ ,         (                           )        :                 。  , AAA=XXX ,  XXX      AAA           ,                ,    AAA   。       ,          。            explicit  ,                、  ,                 。 ,**   explicit               。**
      :
  class Test1
  {
     public:
          Test1(int n){num=n;}
     private:
          int num;
  }  

  class Test2
  {
     public:
          explicit Test2(int n){num=n;}
     private:
          int num;
  }  

int main()
{
     Test1 t1=12;  //         ,  
     Test2 t2=12;  //    ,           
     Test2 t3(12); //      
     return 0;
 }

通常のコンストラクション関数は暗黙的に呼び出すことができ、explicit()コンストラクション関数は明示的に呼び出すしかありません.