女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

C++為什么要阻止實例化

電子工程師 ? 來源:學益得智能硬件 ? 作者:學益得智能硬件 ? 2022-08-09 09:34 ? 次閱讀
為什么要阻止實例化 一個類不想被實例化通常有兩種情況:一種是抽象類,一種是工具類。 抽象類 比如現在需要計算圖形的面積,可以是正方形、長方形、圓形等等。 于是抽象出了基類,叫圖形。
class Sharp{};
classCircle:public Sharp{};
class Rectangle : public Sharp{};
Sharp作為抽象基類,也不好計算其面積,所以沒有實例化的必要。 工具類 比如我們在QT中經常遇到的代碼:
QFileDialog::getOpenFileName(this,"選擇一個文件", QCoreApplication::applicationFilePath(),"*.cpp");
很多情況下我們只是需要通過函數 getOpenFileName 來獲得當前文件的路徑,沒必要去創建對象。當然這里只是舉個例子,并不是說 QFileDialog 是工具類。 還有這樣一種情況,我們需要一個類來封裝加、減、乘、除。
class Calculate{public:    static int add(int x, int y);static intsub(intx,inty);static intmul(int x, int y);static int div(int x, int y);};

上面這個類就是一個典型的工具類,用它創建對象沒有意義,可以直接通過類名調用靜態成員函數。 如何阻止 方法一:類中包含純虛函數。 還是上面的Sharp類。
classSharp{public:    virtual void get_s() = 0;    //純虛函數};

純虛函數沒有函數體。 含有純虛函數的類叫抽象類。 抽象類不好創建對象,因為就算是創建了對象,調用純虛函數的時候,也不知道如何執行。 方法二:構造函數私有 還是上面的計算類。
class Calculate{private:Calculate();public:    static int add(int x, int y);    static int sub(int x, int y);    static int mul(int x, int y);    static int div(int x, int y);};

把構造函數設置成私有,就不能在類的外部創建對象,相當于間接的阻止了該類實例化對象。

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4367

    瀏覽量

    64170
  • C++
    C++
    +關注

    關注

    22

    文章

    2117

    瀏覽量

    74772

原文標題:面試題:C++如何阻止類被實例化?

文章出處:【微信號:學益得智能硬件,微信公眾號:學益得智能硬件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    主流的 MCU 開發語言為什么是 C 而不是 C++

    在單片機的地界兒里,C語言穩坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩不轉。先說內存這道坎兒。您當stm32f4的256kRAM
    的頭像 發表于 05-21 10:33 ?253次閱讀
    主流的 MCU 開發語言為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    請問CCyUSBDevice如何同時實例2個?

    官方的控制臺程序和C++ CYAPI編程手冊中,CCyUSBDevice都只實例化了一次即CCyUSBDevice *USBDevice = new CCyUSBDevice(NULL);按照C++
    發表于 05-19 07:27

    基于OpenHarmony標準系統的C++公共基礎類庫案例:ThreadPoll

    1、程序簡介該程序是基于OpenHarmony標準系統的C++公共基礎類庫的線程池處理:ThreadPoll。本案例完成如下工作:創建1個線程池,設置該線程池內部有1024個線程空間。啟動5個線程
    的頭像 發表于 02-10 18:09 ?281次閱讀
    基于OpenHarmony標準系統的<b class='flag-5'>C++</b>公共基礎類庫案例:ThreadPoll

    Spire.XLS for C++組件說明

    Spire.XLS for C++ 是一款專業的 C++ Excel 組件,可以用在各種 C++ 框架和應用程序中。Spire.XLS for C++ 提供了一個對象模型 Excel
    的頭像 發表于 01-14 09:40 ?512次閱讀
    Spire.XLS for <b class='flag-5'>C++</b>組件說明

    EE-112:模擬C++中的類實現

    電子發燒友網站提供《EE-112:模擬C++中的類實現.pdf》資料免費下載
    發表于 01-03 15:15 ?0次下載
    EE-112:模擬<b class='flag-5'>C++</b>中的類實現

    同樣是函數,在CC++中有什么區別

    同樣是函數,在 CC++ 中有什么區別? 第一個返回值。 C語言的函數可以不寫返回值類型,編譯器會默認為返回 int。 但是 C++ 的函數,除了構造和析構這兩個特殊的函數,必須
    的頭像 發表于 11-29 10:25 ?785次閱讀

    C7000 C/C++優化指南用戶手冊

    電子發燒友網站提供《C7000 C/C++優化指南用戶手冊.pdf》資料免費下載
    發表于 11-09 15:00 ?0次下載
    <b class='flag-5'>C</b>7000 <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>優化指南用戶手冊

    TMS320C6000優化C/C++編譯器v8.3.x

    電子發燒友網站提供《TMS320C6000優化C/C++編譯器v8.3.x.pdf》資料免費下載
    發表于 11-01 09:35 ?1次下載
    TMS320<b class='flag-5'>C</b>6000優化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器v8.3.x

    TMS320C28x優化C/C++編譯器v22.6.0.LTS

    電子發燒友網站提供《TMS320C28x優化C/C++編譯器v22.6.0.LTS.pdf》資料免費下載
    發表于 10-31 10:10 ?0次下載
    TMS320<b class='flag-5'>C</b>28x優化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器v22.6.0.LTS

    C語言和C++中結構體的區別

    同樣是結構體,看看在C語言和C++中有什么區別?
    的頭像 發表于 10-30 15:11 ?649次閱讀

    C7000優化C/C++編譯器

    電子發燒友網站提供《C7000優化C/C++編譯器.pdf》資料免費下載
    發表于 10-30 09:45 ?0次下載
    <b class='flag-5'>C</b>7000優化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器

    ostream在c++中的用法

    ostream 是 C++ 標準庫中一個非常重要的類,它位于 頭文件中(實際上,更常見的是通過包含 頭文件來間接包含 ,因為 包含了 和 )。 ostream 類及其派生類(如 std::cout
    的頭像 發表于 09-20 15:11 ?1665次閱讀

    OpenVINO2024 C++推理使用技巧

    很多人都使用OpenVINO新版的C++ 或者Python的SDK,都覺得非常好用,OpenVINO2022之后的版本C++ SDK做了大量的優化與整理,已經是非常貼近開發的使用習慣與推理方式。與OpenCV的Mat對象對接方式更是幾乎無縫對接,非常的方便好用。
    的頭像 發表于 07-26 09:20 ?1432次閱讀

    C++語言基礎知識

    電子發燒友網站提供《C++語言基礎知識.pdf》資料免費下載
    發表于 07-19 10:58 ?8次下載

    C++中實現類似instanceof的方法

    C++有多態與繼承,但是很多人開始學習C++,有時候會面臨一個常見問題,就是如何向下轉型,特別是不知道具體類型的時候,這個時候就希望C++ 可以向Java或者Python中有instanceof這個
    的頭像 發表于 07-18 10:16 ?850次閱讀
    <b class='flag-5'>C++</b>中實現類似instanceof的方法