C11-explicit關鍵字

explicit關鍵字

SHOW_SMALL_FUNCTION_BLOCK_TIPS("explicit關鍵字")
		{
			//作用阻止編譯器自動執行該函數
			{
			class explicitTest
				{
				public:
					int a;
					explicitTest() :a(NULL)
					{}
					explicitTest(int In_a) :a(In_a)
					{}
					explicitTest operator+ (const explicitTest& In)
					{
						return explicitTest(In.a);
					}
				private:

				};
			explicitTest t1;
			explicitTest t2= t1 + 1;//正常運行,1被隱式轉換爲explicitTest

			}	
			{
			class explicitTest
				{
				public:
					int a;
					explicitTest() :a(NULL)
					{}
					explicit explicitTest(int In_a) :a(In_a)
					{}
					explicitTest operator+ (const explicitTest& In)
					{
						return explicitTest(In.a);
					}
				private:

				};
			explicitTest t1;
			//explicitTest t2 = t1 + 1;//這裏報錯

			}
		}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章