chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C++為什么要阻止實(shí)例化

電子工程師 ? 來源:學(xué)益得智能硬件 ? 作者:學(xué)益得智能硬件 ? 2022-08-09 09:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為什么要阻止實(shí)例化 一個(gè)類不想被實(shí)例化通常有兩種情況:一種是抽象類,一種是工具類。 抽象類 比如現(xiàn)在需要計(jì)算圖形的面積,可以是正方形、長(zhǎng)方形、圓形等等。 于是抽象出了基類,叫圖形。
class Sharp{};
classCircle:public Sharp{};
class Rectangle : public Sharp{};
Sharp作為抽象基類,也不好計(jì)算其面積,所以沒有實(shí)例化的必要。 工具類 比如我們?cè)赒T中經(jīng)常遇到的代碼:
QFileDialog::getOpenFileName(this,"選擇一個(gè)文件", QCoreApplication::applicationFilePath(),"*.cpp");
很多情況下我們只是需要通過函數(shù) getOpenFileName 來獲得當(dāng)前文件的路徑,沒必要去創(chuàng)建對(duì)象。當(dāng)然這里只是舉個(gè)例子,并不是說 QFileDialog 是工具類。 還有這樣一種情況,我們需要一個(gè)類來封裝加、減、乘、除。
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);};

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

純虛函數(shù)沒有函數(shù)體。 含有純虛函數(shù)的類叫抽象類。 抽象類不好創(chuàng)建對(duì)象,因?yàn)榫退闶莿?chuàng)建了對(duì)象,調(diào)用純虛函數(shù)的時(shí)候,也不知道如何執(zhí)行。 方法二:構(gòu)造函數(shù)私有 還是上面的計(jì)算類。
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);};

把構(gòu)造函數(shù)設(shè)置成私有,就不能在類的外部創(chuàng)建對(duì)象,相當(dāng)于間接的阻止了該類實(shí)例化對(duì)象。

審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4408

    瀏覽量

    66954
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2122

    瀏覽量

    76749

原文標(biāo)題:面試題:C++如何阻止類被實(shí)例化?

文章出處:【微信號(hào):學(xué)益得智能硬件,微信公眾號(hào):學(xué)益得智能硬件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    CC++之間的聯(lián)系

    1、語法兼容性: C++完全兼容C語言的語法,這意味著任何有效的C語言程序都可以直接在C++編譯器下編譯通過。 2、底層控制: C++
    發(fā)表于 12-11 06:51

    C語言和C++之間的區(qū)別是什么

    (inheritance)、多態(tài)(polymorphism)等面向?qū)ο缶幊谈拍?。程序員可以通過定義類來創(chuàng)建對(duì)象,并利用類的實(shí)例進(jìn)行操作。 2、類型系統(tǒng)與安全性: C++具有更為嚴(yán)格的類型檢查機(jī)制
    發(fā)表于 12-11 06:23

    C/C++條件編譯

    條件編譯是一種在編譯時(shí)根據(jù)條件選擇性地包含或排除部分代碼的處理方法。在 C/C++ 中,條件編譯使用預(yù)處理指令 #ifdef、#endif、#else 和 #elif 來實(shí)現(xiàn)。常用的條件編譯指令有
    發(fā)表于 12-05 06:21

    C++程序異常的處理機(jī)制

    運(yùn)行代碼進(jìn)行分離,使得程序更加模塊;另一方面,C++的異常處理可以不需要異常處理在異常發(fā)生時(shí)的同一個(gè)函數(shù),而是可以在更上層合適的位置進(jìn)行處理。 下面,我們一起來看看C++的異常處理。 2、異常處理
    發(fā)表于 12-02 07:12

    嵌入式C/C++回歸測(cè)試四大最佳實(shí)踐(附自動(dòng)測(cè)試工具TESSY使用教程)

    嵌入式開發(fā)中,一次微小的代碼改動(dòng)都可能引發(fā)“蝴蝶效應(yīng)”,如何守護(hù)系統(tǒng)的穩(wěn)健?推薦專業(yè)的自動(dòng)測(cè)試工具#TESSY,源自戴姆勒-奔馳,是嵌入式C/C++單元/集成測(cè)試的標(biāo)桿。
    的頭像 發(fā)表于 10-31 14:21 ?224次閱讀
    嵌入式<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>回歸測(cè)試四大最佳實(shí)踐(附自動(dòng)<b class='flag-5'>化</b>測(cè)試工具TESSY使用教程)

    C/C++代碼靜態(tài)測(cè)試工具Perforce QAC 2025.3的新特性

    ?Perforce Validate?中?QAC?項(xiàng)目的相對(duì)/根路徑的支持。C++?分析也得到了增強(qiáng),增加了用于檢測(cè) C++?并發(fā)問題的新檢查,并改進(jìn)了實(shí)體名稱和實(shí)
    的頭像 發(fā)表于 10-13 18:11 ?379次閱讀
    <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>代碼靜態(tài)測(cè)試工具Perforce QAC 2025.3的新特性

    技能+1!如何在樹莓派上使用C++控制GPIO?

    在使用樹莓派時(shí),你會(huì)發(fā)現(xiàn)Python和Scratch是許多任務(wù)(包括GPIO編程)中最常用的編程語言。但你知道嗎,你也可以使用C++進(jìn)行GPIO編程,而且這樣做還有不少好處。借助WiringPi
    的頭像 發(fā)表于 08-06 15:33 ?3669次閱讀
    技能+1!如何在樹莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    主流的 MCU 開發(fā)語言為什么是 C 而不是 C++?

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

    請(qǐng)問CCyUSBDevice如何同時(shí)實(shí)例2個(gè)?

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

    單片機(jī)c語言編程實(shí)例大全

    單片機(jī)c語言編程實(shí)例大全_18
    發(fā)表于 04-30 16:11 ?6次下載

    源代碼加密、源代碼防泄漏c/c++與git服務(wù)器開發(fā)環(huán)境

    源代碼加密對(duì)于很多研發(fā)性單位來說是至關(guān)重要的,當(dāng)然每家企業(yè)的業(yè)務(wù)需求不同所用的開發(fā)環(huán)境及開發(fā)語言也不盡相同,今天主要來講一下c++及git開發(fā)環(huán)境的源代碼防泄密保護(hù)方案。企業(yè)源代碼泄密場(chǎng)景一、在很多
    的頭像 發(fā)表于 02-12 15:26 ?924次閱讀
    源代碼加密、源代碼防泄漏<b class='flag-5'>c</b>/<b class='flag-5'>c++</b>與git服務(wù)器開發(fā)環(huán)境

    基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫案例:ThreadPoll

    1、程序簡(jiǎn)介該程序是基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫的線程池處理:ThreadPoll。本案例完成如下工作:創(chuàng)建1個(gè)線程池,設(shè)置該線程池內(nèi)部有1024個(gè)線程空間。啟動(dòng)5個(gè)線程
    的頭像 發(fā)表于 02-10 18:09 ?624次閱讀
    基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的<b class='flag-5'>C++</b>公共基礎(chǔ)類庫案例:ThreadPoll

    Spire.XLS for C++組件說明

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

    EE-112:模擬C++中的類實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《EE-112:模擬C++中的類實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 01-03 15:15 ?0次下載
    EE-112:模擬<b class='flag-5'>C++</b>中的類實(shí)現(xiàn)

    AKI跨語言調(diào)用庫神助攻C/C++代碼遷移至HarmonyOS NEXT

    產(chǎn)品創(chuàng)新與功能迭代,而非技術(shù)遷移的細(xì)節(jié)問題,大幅提升開發(fā)效率。 據(jù)悉,在涉及C/C++/ETS跨越語言調(diào)用的鴻蒙應(yīng)用中,有超過80%的項(xiàng)目都在使用AKI,如某知名購(gòu)物應(yīng)用,使用后減少了項(xiàng)目10%代碼
    發(fā)表于 01-02 17:08