国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【C++成長(zhǎng)記】C++入門 | 類和對(duì)象(上) |類的作用域、類的實(shí)例化、類的對(duì)象大小的計(jì)算、類成員函數(shù)的this指針

這篇具有很好參考價(jià)值的文章主要介紹了【C++成長(zhǎng)記】C++入門 | 類和對(duì)象(上) |類的作用域、類的實(shí)例化、類的對(duì)象大小的計(jì)算、類成員函數(shù)的this指針。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

??博主主頁:???倔強(qiáng)的大蝸牛???

??專欄分類:C++
??感謝大家點(diǎn)贊??收藏?評(píng)論??

目錄

一、類的作用域?

二、類的實(shí)例化

三、類對(duì)象模型?

四、this指針

1、this指針的引出

?2 this指針的特性


一、類的作用域?

類定義了一個(gè)新的作用域,類的所有成員都在類的作用域中。在類體外定義成員時(shí),需要使用 ::
作用域操作符指明成員屬于哪個(gè)類域。
class Person
{
public:
 void PrintPersonInfo();
private:
 char _name[20];
 char _gender[3];
 int ?_age;
};
// 這里需要指定PrintPersonInfo是屬于Person這個(gè)類域
void Person::PrintPersonInfo()
{
 cout << _name << " "<< _gender << " " << _age << endl;
}

二、類的實(shí)例化

?用類類型創(chuàng)建對(duì)象的過程,稱為類的實(shí)例化

1、類是對(duì)對(duì)象進(jìn)行描述的,是一個(gè)模型一樣的東西,限定了類有哪些成員,定義出一個(gè)類并沒
有分配實(shí)際的內(nèi)存空間來存儲(chǔ)它;

2、一個(gè)類可以實(shí)例化出多個(gè)對(duì)象,實(shí)例化出的對(duì)象 占用實(shí)際的物理空間,存儲(chǔ)類成員變量;

?

int main()
{
 Person._age = 100; ? // 編譯失?。篹rror C2059: 語法錯(cuò)誤:“.”
 return 0;
}
Person類是沒有空間的,只有Person類實(shí)例化出的對(duì)象才有具體的年齡。

3、類實(shí)例化出對(duì)象就像現(xiàn)實(shí)中使用建筑設(shè)計(jì)圖建造出房子,類就像是設(shè)計(jì)圖,只設(shè)計(jì)出需要什么東西,但是并沒有實(shí)體的建筑存在,同樣類也只是一個(gè)設(shè)計(jì),實(shí)例化出的對(duì)象才能實(shí)際存儲(chǔ)數(shù)據(jù),占用物理空間;

【C++成長(zhǎng)記】C++入門 | 類和對(duì)象(上) |類的作用域、類的實(shí)例化、類的對(duì)象大小的計(jì)算、類成員函數(shù)的this指針,C++,c++,開發(fā)語言

三、類對(duì)象模型?

類對(duì)象模型是 C++ 面向?qū)ο缶幊讨械囊粋€(gè)核心概念,它定義了如何創(chuàng)建和使用對(duì)象的基本結(jié)構(gòu)。在 C++ 類對(duì)象模型中,類可以看作是一個(gè)模板,用于定義對(duì)象的屬性和方法,而實(shí)例則是根據(jù)這個(gè)模板創(chuàng)建出來的具體對(duì)象。

類和實(shí)例都是對(duì)象,分為內(nèi)置類對(duì)象(如 int、float、char、string 等)、自定義類對(duì)象(通過 class 關(guān)鍵字定義的類)和實(shí)例對(duì)象(由類對(duì)象創(chuàng)建的實(shí)例)。?

在 C++ 中,類對(duì)象模型更關(guān)注于對(duì)象的內(nèi)存布局和內(nèi)存管理。對(duì)于含有虛函數(shù)或其父類含有虛函數(shù)的類,編譯器會(huì)為其添加一個(gè)虛函數(shù)表(vptr),用于支持多態(tài)特性。在繼承關(guān)系中,子類對(duì)象的內(nèi)存布局會(huì)包含父類對(duì)象的拷貝(包括父類虛函數(shù)表指針和成員變量),然后是子類自己的成員變量數(shù)據(jù)。?

四、this指針

1、this指針的引出

定義一個(gè)日期類 Date:
class Date
{ 
public:
 void Init(int year, int month, int day)
 {
 _year = year;
 _month = month;
 _day = day;
 }
 void Print()
 {
 cout <<_year<< "-" <<_month << "-"<< _day <<endl;
 }
private:
 int _year; ? ? // 年
 int _month; ? ?// 月
 int _day; ? ? ?// 日
};
int main()
{
 Date d1, d2;
 d1.Init(2022,1,11);
 d2.Init(2022, 1, 12);
 d1.Print();
 d2.Print();
 return 0;
}

問題:

Date類中有 Init 與 Print 兩個(gè)成員函數(shù),函數(shù)體中沒有關(guān)于不同對(duì)象的區(qū)分,那當(dāng)d1調(diào)用 Init 函數(shù)時(shí),該函數(shù)是如何知道應(yīng)該設(shè)置d1對(duì)象,而不是設(shè)置d2對(duì)象呢?
解答:
C++中通過引入this指針解決該問題,即:C++編譯器給每個(gè)“非靜態(tài)的成員函數(shù)“增加了一個(gè)隱藏的指針參數(shù),讓該指針指向當(dāng)前對(duì)象(函數(shù)運(yùn)行時(shí)調(diào)用該函數(shù)的對(duì)象),在函數(shù)體中所有“成員變量”的操作,都是通過該指針去訪問。只不過所有的操作對(duì)用戶是透明的,即用戶不需要來傳遞,編譯器自動(dòng)完成。

?2 this指針的特性

  1. this指針的類型:類類型* const,即成員函數(shù)中,不能給this指針賦值。
  2. 只能在“成員函數(shù)”的內(nèi)部使用
  3. ?this指針本質(zhì)上是“成員函數(shù)”的形參,當(dāng)對(duì)象調(diào)用成員函數(shù)時(shí),將對(duì)象地址作為實(shí)參傳遞給 this形參。所以對(duì)象中不存儲(chǔ)this指針。
  4. this指針是“成員函數(shù)”第一個(gè)隱含的指針形參,一般情況由編譯器通過ecx寄存器自動(dòng)傳遞,不需要用戶傳遞

【C++成長(zhǎng)記】C++入門 | 類和對(duì)象(上) |類的作用域、類的實(shí)例化、類的對(duì)象大小的計(jì)算、類成員函數(shù)的this指針,C++,c++,開發(fā)語言?

??結(jié)語:?

本次精彩內(nèi)容已圓滿結(jié)束!希望各位讀者在閱讀過程中能夠收獲滿滿。在此,特別感謝各位讀者的支持與三連贊。如果文章中存在任何問題或不足之處,歡迎在評(píng)論區(qū)留言,蝸牛必定會(huì)認(rèn)真對(duì)待并加以改進(jìn),以便為大家呈現(xiàn)更優(yōu)質(zhì)的文章。你們的支持與鼓勵(lì),將是博主不斷前進(jìn)的最大動(dòng)力。再次感謝大家的陪伴與支持!文章來源地址http://www.zghlxwxcb.cn/news/detail-852041.html

到了這里,關(guān)于【C++成長(zhǎng)記】C++入門 | 類和對(duì)象(上) |類的作用域、類的實(shí)例化、類的對(duì)象大小的計(jì)算、類成員函數(shù)的this指針的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【C++類和對(duì)象】日期類的實(shí)現(xiàn)

    【C++類和對(duì)象】日期類的實(shí)現(xiàn)

    hello hello~ ,這里是大耳朵土土垚~???? ,歡迎大家點(diǎn)贊????關(guān)注????收藏?????? ?? 個(gè)人主頁 :大耳朵土土垚的博客 ?? 所屬專欄 :C++入門至進(jìn)階 這里將會(huì)不定期更新有關(guān)C++的內(nèi)容,希望大家多多點(diǎn)贊關(guān)注收藏???? 通過下面的學(xué)習(xí)我們將構(gòu)建簡(jiǎn)單日期計(jì)算器的各種

    2024年04月23日
    瀏覽(25)
  • C++ 類和對(duì)象篇(一) 類的引入

    C++ 類和對(duì)象篇(一) 類的引入

    目錄 一、類的概念 二、類的引入 三、類的定義? 1.在C++中定義一個(gè)類 2.struct 和 class 的區(qū)別 3.成員函數(shù)的聲明與定義 四、封裝及類的訪問限定符 1.封裝 2.類的訪問限定符? ? ? ? 五、類的作用域和生命周期 六、類的實(shí)例化 0. 概念 1. 隱式創(chuàng)建 2. 顯式創(chuàng)建 3. 顯式new創(chuàng)建 七、

    2024年02月14日
    瀏覽(23)
  • 【C++】類和對(duì)象詳解(類的使用,this指針)

    【C++】類和對(duì)象詳解(類的使用,this指針)

    提示:這里可以添加本文要記錄的大概內(nèi)容: 在計(jì)算機(jī)編程領(lǐng)域,程序設(shè)計(jì)的方法論不斷演化,從最初的面向過程到如今更為強(qiáng)大而靈活的面向?qū)ο?。本文將深入探討C++中關(guān)于類和對(duì)象的概念,為讀者提供對(duì)面向?qū)ο缶幊痰纳羁汤斫狻?提示:以下是本篇文章正文內(nèi)容,下面

    2024年02月02日
    瀏覽(21)
  • C++類和對(duì)象 練習(xí)小項(xiàng)目---日期類的實(shí)現(xiàn).

    C++類和對(duì)象 練習(xí)小項(xiàng)目---日期類的實(shí)現(xiàn).

    ??個(gè)人主頁:?? :???初階牛??? ??推薦專欄1: ??????C語言初階 ??推薦專欄2: ??????C語言進(jìn)階 ??個(gè)人信條: ??知行合一 ??本篇簡(jiǎn)介::為了更好的理解 C++ 類和對(duì)象的知識(shí),我們可以動(dòng)手實(shí)現(xiàn)一下 C++ 的一個(gè)簡(jiǎn)單的日期類,完成相應(yīng)的函數(shù),更好的幫助我們理解類和對(duì)

    2024年02月14日
    瀏覽(27)
  • 【C++深入淺出】類和對(duì)象上篇(類的基礎(chǔ)、類的模型以及this指針)

    【C++深入淺出】類和對(duì)象上篇(類的基礎(chǔ)、類的模型以及this指針)

    目錄 一. 前言? 二. 面向?qū)ο笈c面向過程 ? ? ? ? 2.1?面向過程 ? ? ? ? 2.2 面向?qū)ο?三. 類的基礎(chǔ)知識(shí) 3.1 類的引入 3.2 類的定義 3.3 成員變量的命名規(guī)則 3.4 封裝 3.5 類的訪問限定符 3.6 類的作用域 3.7 類的實(shí)例化 四. 類的對(duì)象模型 4.1 類對(duì)象的大小 4.2 類對(duì)象的存儲(chǔ)方式 4.3 空

    2024年02月10日
    瀏覽(96)
  • C++核心編程—類和對(duì)象,類的三大特性——封裝、繼承、多態(tài)

    C++核心編程—類和對(duì)象,類的三大特性——封裝、繼承、多態(tài)

    縱有疾風(fēng)起,人生不言棄。本文篇幅較長(zhǎng),如有錯(cuò)誤請(qǐng)不吝賜教,感謝支持。 ①什么是對(duì)象? 生活中有各種各樣的 事物 ,如人、動(dòng)物、植物等在C++中將這些稱為對(duì)象。 對(duì)象多種多樣, 各種對(duì)象的屬性也不相同 。 例如狗的品種,毛色,年齡等 各個(gè)對(duì)象都有自己的行為 ,例

    2024年02月07日
    瀏覽(29)
  • 【C++初階】第三站:類和對(duì)象(中) -- 類的6個(gè)默認(rèn)成員函數(shù)

    【C++初階】第三站:類和對(duì)象(中) -- 類的6個(gè)默認(rèn)成員函數(shù)

    目錄 前言 類的6個(gè)默認(rèn)成員函數(shù) 構(gòu)造函數(shù) 概念 特性 析構(gòu)函數(shù)? 概念 特性 拷貝構(gòu)造函數(shù) 概念 特征 賦值運(yùn)算符重載 運(yùn)算符重載 賦值運(yùn)算符重載 const成員 const修飾類成員函數(shù) 取地址及const取地址操作符重載 本章總結(jié): ????????有時(shí)候我們寫好了一個(gè)棧,頭腦中第一件事

    2024年02月20日
    瀏覽(25)
  • 【C++】類和對(duì)象②(類的默認(rèn)成員函數(shù):構(gòu)造函數(shù) | 析構(gòu)函數(shù))

    【C++】類和對(duì)象②(類的默認(rèn)成員函數(shù):構(gòu)造函數(shù) | 析構(gòu)函數(shù))

    ?? 個(gè)人主頁: Forcible Bug Maker ?? 專欄: C++ 目錄 前言 類的6個(gè)默認(rèn)成員函數(shù) 構(gòu)造函數(shù) 概念 構(gòu)造函數(shù)的特性及用法 析構(gòu)函數(shù) 概念 析構(gòu)函數(shù)的特性及用法 結(jié)語 本篇主要內(nèi)容:類的6個(gè)默認(rèn)成員函數(shù)中的 構(gòu)造函數(shù) 和 析構(gòu)函數(shù) 進(jìn)入到類和對(duì)象內(nèi)容的第二節(jié),上篇博客中介紹了

    2024年04月16日
    瀏覽(37)
  • 【C++精華鋪】5.C++類和對(duì)象(中)類的六個(gè)默認(rèn)成員函數(shù)

    【C++精華鋪】5.C++類和對(duì)象(中)類的六個(gè)默認(rèn)成員函數(shù)

    目錄 1. 六個(gè)默認(rèn)成員函數(shù) 2. 構(gòu)造函數(shù) 2.1 概念 2.2 默認(rèn)構(gòu)造 2.2.1 系統(tǒng)生成的默認(rèn)構(gòu)造 2.2.2 自定義默認(rèn)構(gòu)造函數(shù) ?2.3 構(gòu)造函數(shù)的重載 3. 析構(gòu)函數(shù) 3.1 概念 ?3.2 系統(tǒng)生成的析構(gòu)函數(shù) ?3.3 自定義析構(gòu)函數(shù) 4. 拷貝構(gòu)造 4.1 概念 ?4.2 默認(rèn)生成的拷貝構(gòu)造(淺拷貝) ?4.3 自定義拷貝構(gòu)

    2024年02月13日
    瀏覽(52)
  • C++ 類和實(shí)例對(duì)象,內(nèi)存關(guān)系

    在 C++ 中,成員變量和成員函數(shù)的拷貝數(shù)量與它們是靜態(tài)的還是非靜態(tài)的有關(guān)。與此同時(shí),使用 sizeof 操作符測(cè)量類和對(duì)象的大小時(shí),也需要考慮這些因素。以下是綜合這些方面的總結(jié): 非靜態(tài)成員變量:每個(gè)對(duì)象實(shí)例都有一份屬于自己的成員變量拷貝。因此,如果創(chuàng)建了

    2024年02月14日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包