曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

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

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

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

類和對(duì)象是什么?

汽車電子技術(shù) ? 來(lái)源:C語(yǔ)言Plus ? 作者:Maye426 ? 2023-02-27 15:36 ? 次閱讀

前面講的面向過(guò)程和面向?qū)ο螅蠹叶加辛嘶镜牧私?,也用struct定義了類,那么接下來(lái)咱們就用C++提供的另一個(gè)關(guān)鍵字class來(lái)定義類,同樣的我們還是使用前面的學(xué)生結(jié)構(gòu),首先直接把struct改成class看有沒(méi)有什么問(wèn)題。

class Stu //定義學(xué)生結(jié)構(gòu)
 {
     int id;
     int age;
     char name[10];
     void init(int sid = 0, int sage = 0, const char* sname = "NULL")
{
         id = sid;
         age = sage;
         strcpy(name, sname);
    }
     void showStuInfo()
{
         cout << id << " " << age << " " << name << endl;
    }
 };

 int main()
{
     Stu cPlus;//前面講過(guò)在C++中可以省略,struct關(guān)鍵字
     cPlus.init();// error “Stu::init”: 無(wú)法訪問(wèn) private 成員
     cPlus.showStuInfo();//error “Stu::showStuInfo”: 無(wú)法訪問(wèn) private 成員

     return 0;
 }

編譯代碼會(huì)發(fā)現(xiàn),有兩處錯(cuò)誤,大概的意思都是說(shuō)無(wú)法訪問(wèn)private成員,那么什么意思呢?這就是struct和class的不同之處了:

  • struct 默認(rèn)是公有(public)的:即在類的外面可以訪問(wèn)類里面的成員(如果沒(méi)有指定權(quán)限訪問(wèn)限定符)
  • class 默認(rèn)是私有(private)的:即在類的外面不可以訪問(wèn)類的成員(如果沒(méi)有指定權(quán)限訪問(wèn)限定符)

相同點(diǎn):

  • 都可以使用權(quán)限訪問(wèn)限定符來(lái)修改類成員,在外部的訪問(wèn)權(quán)限(除此之外struct和class沒(méi)有任何區(qū)別)

對(duì)于上面的代碼,我們可以這樣修改一下在類中的最上面加上public,這樣就可以在外面隨意訪問(wèn)成員啦

圖片

如果說(shuō)只想讓外部能夠訪問(wèn)成員函數(shù),而不想讓外部訪問(wèn)到成員變量,那么可以這樣

圖片

至于protected訪問(wèn)限定符,是作用與派生類中的,這個(gè)后面會(huì)講到(對(duì)于類的外部來(lái)說(shuō),和private一樣)

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

    關(guān)注

    22

    文章

    2116

    瀏覽量

    74645
  • Class
    +關(guān)注

    關(guān)注

    0

    文章

    53

    瀏覽量

    19991
  • Struct
    +關(guān)注

    關(guān)注

    0

    文章

    31

    瀏覽量

    11009
收藏 人收藏

    評(píng)論

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

    OLE對(duì)象是什么

    [OPTIONS]中OLE對(duì)象是什么?
    發(fā)表于 07-15 16:29

    關(guān)于LabVIEW 及其對(duì)象使用的疑問(wèn)

    各位大神,我一直有個(gè)關(guān)于LabVIEW中使用的問(wèn)題。。。。當(dāng)我建好一個(gè)之后,直接將其拖到一個(gè)VI的程序框圖中,相當(dāng)于一個(gè)對(duì)象,在這個(gè)VI中我可以隨便操作這個(gè)
    發(fā)表于 11-23 22:20

    JAVA和C++區(qū)別

    。 8 字符串 c和c十十不支持字符串變量,在c和c十十程序中使用Null終止符代表字符串的結(jié)束,在Java中字符串是用對(duì)象(strinR和stringBuffer)來(lái)實(shí)現(xiàn)的,這些對(duì)象是
    發(fā)表于 10-10 14:50

    3分鐘看懂Python面向對(duì)象

    Python雖然是解釋型語(yǔ)言,但從設(shè)計(jì)之初就已經(jīng)是一門面向對(duì)象的語(yǔ)言,對(duì)于Python來(lái)說(shuō)一切皆為對(duì)象。正因?yàn)槿绱耍赑ython中創(chuàng)建一個(gè)對(duì)象是很容易的,當(dāng)然如果習(xí)慣面向過(guò)程或者
    發(fā)表于 06-08 14:20

    VEE對(duì)象是否支持阿拉伯字符?

    大家好,有人知道VEE對(duì)象是否支持阿拉伯字符?我假設(shè)他們是Microsoft Windows應(yīng)用程序的一部分,但如果有人有阿拉伯語(yǔ)運(yùn)行的VEE應(yīng)用程序的屏幕截圖,我真的很感激!有人設(shè)法讓VEE對(duì)象
    發(fā)表于 04-02 06:17

    LabVIEW面向對(duì)象的ActorFramework(1)

    領(lǐng)域。面向對(duì)象是一種對(duì)現(xiàn)實(shí)世界理解和抽象的方法,是計(jì)算機(jī)編程技術(shù)發(fā)展到一定階段后的產(chǎn)物。 面向對(duì)象是相對(duì)于面向過(guò)程來(lái)講的,面向對(duì)象方法,把相關(guān)的數(shù)據(jù)和方法組織為一個(gè)整體來(lái)看待,從更高的層次來(lái)進(jìn)行系統(tǒng)
    發(fā)表于 02-10 14:09

    對(duì)象分配內(nèi)存錯(cuò)誤怎么辦

    請(qǐng)大神幫忙,萬(wàn)分感謝?。?!操作系統(tǒng):ucosIII 芯片:STM32F103我的建立比較多。對(duì)象是指針CCarriage*gCar;分配內(nèi)存語(yǔ)句:gCar = new CCarriage
    發(fā)表于 05-25 09:51

    對(duì)象_實(shí)驗(yàn)2

    c++面向對(duì)象課程實(shí)驗(yàn)指導(dǎo)書題目_對(duì)象
    發(fā)表于 01-14 16:24 ?0次下載

    Java教程之零點(diǎn)起飛學(xué)Java的對(duì)象資料說(shuō)明

    對(duì)象是進(jìn)行面向對(duì)象編程的基礎(chǔ)。是具有相同屬性特征和行為規(guī)則的多個(gè)對(duì)象的一種統(tǒng)一描述,對(duì)象是
    發(fā)表于 02-20 10:41 ?14次下載
    Java教程之零點(diǎn)起飛學(xué)Java的<b class='flag-5'>類</b>與<b class='flag-5'>對(duì)象</b>資料說(shuō)明

    Java實(shí)驗(yàn):對(duì)象的擴(kuò)展

    Java實(shí)驗(yàn):對(duì)象的擴(kuò)展
    發(fā)表于 07-08 15:36 ?20次下載
    Java實(shí)驗(yàn):<b class='flag-5'>類</b>和<b class='flag-5'>對(duì)象</b>的擴(kuò)展

    Labview面向對(duì)象編程快速入門教程

    在面向對(duì)象編程中, 用來(lái)表示通用特性。 例如,假設(shè)有一個(gè)描述汽車的。 中定義了各種汽車的通用特性。對(duì)象是
    發(fā)表于 07-31 08:00 ?85次下載
    Labview面向<b class='flag-5'>對(duì)象</b>編程快速入門教程

    什么是不可變對(duì)象 不可變對(duì)象存儲(chǔ)可以抵御哪些威脅

    新建的對(duì)象。 基本數(shù)據(jù)類型的包裝以及String對(duì)象都是不可變對(duì)象。 不可變對(duì)象和可變
    的頭像 發(fā)表于 09-19 11:44 ?2686次閱讀

    Python中的對(duì)象詳解

    Python 是一種面向對(duì)象的編程語(yǔ)言,它支持對(duì)象。是一種用戶自定義的數(shù)據(jù)類型,用于定義對(duì)象的屬性和方法。
    的頭像 發(fā)表于 04-20 16:53 ?1388次閱讀

    Objects:為對(duì)象提供對(duì)象技術(shù)

    Objects 對(duì)象簡(jiǎn)介 IRIS 通過(guò)以下對(duì)象提供對(duì)象技術(shù): %Library.RegisteredObject 、 %Library
    的頭像 發(fā)表于 09-20 14:14 ?571次閱讀
    Objects:為<b class='flag-5'>對(duì)象</b><b class='flag-5'>類</b>提供<b class='flag-5'>對(duì)象</b>技術(shù)

    SystemC TLM中的接口

    SystemC TLM中的接口 在SystemC TLM中,接口是一個(gè)C++的抽象。抽象中的所有方法都是用“=0”標(biāo)識(shí)表示的純虛函數(shù)。C++不允許創(chuàng)建抽象對(duì)象,因?yàn)槌橄?/div>
    的頭像 發(fā)表于 11-02 15:54 ?1183次閱讀