91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

QT 基礎 (二)     explicit 用法

發布時間:2020-07-28 07:30:08 來源:網絡 閱讀:1030 作者:WZM3558862 欄目:開發技術

最近在復習QT,準備做項目了,QT Creator 默認生成的代碼 explicit Dialog(QWidget *parent = 0)中,有這么一個關鍵字explicit ,用來修飾構造函數。以前在Windows下寫程序的時候,基本上沒有碰到這個關鍵字,那么這個關鍵字是做什么用的呢?

      關鍵字 explicit 可以禁止“單參數構造函數”被用于自動類型轉換。光看這一句似乎不太容易明白,下面,舉個簡單地例子。

          //main.cpp
            #include <iostream>

            using namespace std;

            class Test
            {
            public:
                 Test(int a)
                 {
                      m_data = a;
                 }

                 void show()
                 {
                      cout << "m_data = " << m_data << endl;
                 }

            private:
                 int m_data;
            };

            void main(void)
            {
                 Test t = 2;   // 將一個常量賦給了一個對象
                  t.show();
            }

      編譯能夠通過,執行結果:m_data = 2。

      為什么會這樣呢?原來C++通過隱式轉換,構造了一個臨時對象Test(2),將它賦給了t(這里調用了默認的構造函數,而不是重載的“=”,因為這是在對象創建的時候)。那么,如果給構造函數加上關鍵字 explicit ,構造函數變成了 explicit Test(int a),再次編譯,編譯器就會報錯。這時,就只能顯式地使用構造函數了Test t = Test(2) 。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

qt bs
AI

济南市| 金华市| 阳信县| 南宁市| 华宁县| 太仆寺旗| 丘北县| 曲阳县| 皋兰县| 乐山市| 宝坻区| 枣庄市| 巴塘县| 龙陵县| 华安县| 濮阳市| 油尖旺区| 仁化县| 德昌县| 阿克陶县| 藁城市| 舟曲县| 平定县| 新河县| 新营市| 长岭县| 峡江县| 监利县| 平南县| 大庆市| 斗六市| 砀山县| 黄大仙区| 绥化市| 永仁县| 黑山县| 日土县| 沂水县| 资中县| 青铜峡市| 赤峰市|