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

C++ 學(xué)習(xí) ::【基礎(chǔ)篇:13】:C++ 類的基本成員函數(shù):類類型成員的初始化與構(gòu)造函數(shù)問題

這篇具有很好參考價(jià)值的文章主要介紹了C++ 學(xué)習(xí) ::【基礎(chǔ)篇:13】:C++ 類的基本成員函數(shù):類類型成員的初始化與構(gòu)造函數(shù)問題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

本系列 C++ 相關(guān)文章 僅為筆者學(xué)習(xí)筆記記錄,用自己的理解記錄學(xué)習(xí)!C++ 學(xué)習(xí)系列將分為三個(gè)階段:基礎(chǔ)篇、STL 篇、高階數(shù)據(jù)結(jié)構(gòu)與算法篇,相關(guān)重點(diǎn)內(nèi)容如下:

  1. 基礎(chǔ)篇類與對(duì)象(涉及C++的三大特性等);
  2. STL 篇學(xué)習(xí)使用 C++ 提供的 STL 相關(guān)庫;
  3. 高階數(shù)據(jù)結(jié)構(gòu)與算法篇手動(dòng)實(shí)現(xiàn)自己的 STL 庫設(shè)計(jì)實(shí)現(xiàn)高階數(shù)據(jù)結(jié)構(gòu),如 B樹、B+樹、紅黑樹等。

學(xué)習(xí)集:

  • C++ 入門到入土?。?!學(xué)習(xí)合集
  • Linux 從命令到網(wǎng)絡(luò)再到內(nèi)核!學(xué)習(xí)合集

本期內(nèi)容:C++ 類的基本成員函數(shù):類類型成員與構(gòu)造函數(shù)問題


前期內(nèi)容: C++ 學(xué)習(xí) ::【基礎(chǔ)篇:12】:C++ 類的基本成員函數(shù):構(gòu)造函數(shù)基本的定義與調(diào)用 |(無參構(gòu)造與有參構(gòu)造及缺省參數(shù)式構(gòu)造)


目錄:
1. 問題引入
2. 類類型成員(自定義數(shù)據(jù)類型)的初始化與構(gòu)造函數(shù)
3. 相關(guān)文章推薦


【 C++學(xué)習(xí)合集鏈接 】


1. 問題引入

已知:如果類中沒有顯式定義構(gòu)造函數(shù),則C++編譯器會(huì)自動(dòng)生成一個(gè)無參的默認(rèn)構(gòu)造函數(shù),一旦用戶顯式定義編譯器將不再生成。


優(yōu)缺問題引出:

  • C++ 中,參數(shù)可分為:基本數(shù)據(jù)類型(int、double、(任意類型指針)…)和 自定義數(shù)據(jù)類型(struct、class、…)
  • C++ 對(duì),這兩種參數(shù)在自動(dòng)生成無參構(gòu)造時(shí)是不同的?。?!
    • 對(duì)于基本數(shù)據(jù)類型,不做處理!
    • 對(duì)于自定義數(shù)據(jù)類型回去調(diào)用自定義數(shù)據(jù)類型的:默認(rèn)構(gòu)造函數(shù)!

【 以下示例為使用兩個(gè)棧實(shí)現(xiàn)隊(duì)列示例的構(gòu)造函數(shù)探討! 】

代碼示例
#include<iostream>
using std::cout;
using std::endl;


typedef int DataType;

/* 定義一個(gè)棧的及其構(gòu)造函數(shù) */
class Stack {
public:
    Stack(int capacity = 4) {		// 結(jié)合參數(shù)缺省實(shí)現(xiàn):只要實(shí)例化必定是可用的棧(空間為:4)
        _capacity = capacity;
        _array = (DataType*)malloc(sizeof(DataType) * capacity);	// 申請(qǐng)存儲(chǔ)空間
        if (_array == nullptr) {
            perror("malloc fail!\n");
            return;
        }
        _size = 0;
    }
private:
    DataType* _array;			// 順序存儲(chǔ)方式
    int _capacity;			// 記錄當(dāng)前棧的最大存儲(chǔ)量
    int _size;				// 記錄當(dāng)前棧中的元素個(gè)數(shù)
};

class Queue {
private:
    Stack _st1;
    Stack _st2;
};


int main() {
    Stack stk;
    Queue queue;
    return 0;
}

C++ 學(xué)習(xí) ::【基礎(chǔ)篇:13】:C++ 類的基本成員函數(shù):類類型成員的初始化與構(gòu)造函數(shù)問題


2. 類類型成員(自定義數(shù)據(jù)類型)的初始化與構(gòu)造函數(shù)

由上示例代碼可知:對(duì)于自定義數(shù)據(jù)類型會(huì)去調(diào)用自定義數(shù)據(jù)類型的構(gòu)造函數(shù)!


這是 C++ 早期設(shè)計(jì)的一個(gè)缺陷:即對(duì)于C++的兩種類型使用了兩種原則進(jìn)行處理!


C++ 11:后官方給出了一個(gè)補(bǔ)丁 / 解決方案:即自定義數(shù)據(jù)類型在成員變量的聲明是可以賦默認(rèn)值!【注意點(diǎn):賦值不是在初始化,而是在指定缺省值!【給定缺省值實(shí)際是給構(gòu)造函數(shù)的初始化列表處進(jìn)行定義】】(代碼如下?。?/p>

#include<iostream>
using std::cout;
using std::endl;

typedef int DataType;

/* 定義一個(gè)棧的及其構(gòu)造函數(shù) */
class Stack {					/* 不自定義構(gòu)造函數(shù) */
public:
private:
    DataType* _array;			
    int _capacity = 4;			// 不是初始化,而是相當(dāng)于指定缺省值
    int _size = 0;				// 不是初始化,而是相當(dāng)于指定缺省值
};

class Queue {
private:
    Stack _st1;
    Stack _st2;
};


int main() {
    Stack stk;
    Queue queue;
    return 0;
}

C++ 學(xué)習(xí) ::【基礎(chǔ)篇:13】:C++ 類的基本成員函數(shù):類類型成員的初始化與構(gòu)造函數(shù)問題


3. 相關(guān)文章推薦

1. C++ 學(xué)習(xí) ::【基礎(chǔ)篇:12】:C++ 類的基本成員函數(shù):構(gòu)造函數(shù)基本的定義與調(diào)用 |(無參構(gòu)造與有參構(gòu)造及缺省參數(shù)式構(gòu)造)文章來源地址http://www.zghlxwxcb.cn/news/detail-473999.html

到了這里,關(guān)于C++ 學(xué)習(xí) ::【基礎(chǔ)篇:13】:C++ 類的基本成員函數(shù):類類型成員的初始化與構(gòu)造函數(shù)問題的文章就介紹完了。如果您還想了解更多內(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)文章

  • 轉(zhuǎn)換操作符轉(zhuǎn)換類型:普通函數(shù)指針(普通函數(shù)、類的靜態(tài)函數(shù))、類的成員函數(shù)指針

    ????????一、轉(zhuǎn)換操作符的定義 ???????? 轉(zhuǎn)換操作符是一種特殊的類成員函數(shù) , 它定義將類類型值轉(zhuǎn)變?yōu)槠渌愋椭档霓D(zhuǎn)換 ,轉(zhuǎn)換操作符在類定義體內(nèi)聲明,在保留字operator之后跟著轉(zhuǎn)換的目標(biāo)類型,轉(zhuǎn)換函數(shù)采用如下通用形式: ????????這里,type表示 內(nèi)置類型

    2024年01月19日
    瀏覽(21)
  • 【C++】類的默認(rèn)成員函數(shù)----const成員函數(shù)(超詳細(xì)解析)

    【C++】類的默認(rèn)成員函數(shù)----const成員函數(shù)(超詳細(xì)解析)

    目錄 一、前言 二、const成員函數(shù)? ??const修飾類的成員函數(shù)? ??問題1? ??問題2 ??針對(duì)const成員函數(shù)的常考面試題(重點(diǎn)?。。???取地址及const取地址操作符重載 三、共勉 ?? 在我們前面學(xué)習(xí)的 類 中,我們會(huì)定義 成員變量 和 成員函數(shù) ,這些我們自己定義的函數(shù)都是普

    2024年04月14日
    瀏覽(18)
  • C++類的默認(rèn)成員函數(shù)

    C++類的默認(rèn)成員函數(shù)

    什么是默認(rèn)函數(shù)? 默認(rèn)函數(shù)就是當(dāng)你使用這個(gè)類對(duì)象時(shí),這個(gè)類會(huì)自動(dòng)調(diào)用的函數(shù)C++中有六個(gè)默認(rèn)成員函數(shù),并且作用各不相同,下面我們來一一進(jìn)行介紹 什么是構(gòu)造函數(shù)?構(gòu)造函數(shù)是干什么的? 什么是析構(gòu)函數(shù)?析構(gòu)函數(shù)是干什么的? 我們以棧為例,每一次我們?cè)谑褂脳5臅r(shí)

    2024年02月02日
    瀏覽(24)
  • 【C++】類的默認(rèn)成員函數(shù)(下)

    【C++】類的默認(rèn)成員函數(shù)(下)

    ?? 博客主頁 : 小羊失眠啦. ?? 系列專欄 : 《C語言》 《數(shù)據(jù)結(jié)構(gòu)》 《C++》 《Linux》 《Cpolar》 ?? 感謝大家點(diǎn)贊??收藏?評(píng)論?? 本章主要內(nèi)容為認(rèn)識(shí)與學(xué)習(xí)C++非常重要的概念—— 運(yùn)算符重載 。通過 日期類 的實(shí)現(xiàn),逐步學(xué)習(xí)各個(gè)運(yùn)算符重載的實(shí)現(xiàn)方法即含義。6個(gè)默

    2024年03月18日
    瀏覽(28)
  • C++:類的六個(gè)默認(rèn)成員函數(shù)

    C++:類的六個(gè)默認(rèn)成員函數(shù)

    個(gè)人主頁 : 個(gè)人主頁 個(gè)人專欄 : 《數(shù)據(jù)結(jié)構(gòu)》 《C語言》《C++》 本篇博客作為C++知識(shí)總結(jié),我們來認(rèn)識(shí)類的六個(gè)默認(rèn)成員函數(shù)。 下面我主要以日期類作為示例顯示。 構(gòu)造函數(shù) 是一個(gè)特殊的成員函數(shù),名字與類名相同,創(chuàng)建類類型對(duì)象時(shí)(實(shí)例化類)由編譯器自動(dòng)調(diào)用,以保

    2024年02月08日
    瀏覽(18)
  • C++中類的6個(gè)默認(rèn)成員函數(shù) 【拷貝構(gòu)造函數(shù)】

    C++中類的6個(gè)默認(rèn)成員函數(shù) 【拷貝構(gòu)造函數(shù)】

    在前幾章學(xué)習(xí)對(duì)象的時(shí)候,我們有的時(shí)候需要一個(gè)與已存在對(duì)象一某一樣的新對(duì)象 那在創(chuàng)建對(duì)象時(shí),可否創(chuàng)建一個(gè)與已存在對(duì)象一某一樣的新對(duì)象呢? 拷貝構(gòu)造函數(shù):只有單個(gè)形參,該形參是對(duì)本類類型對(duì)象的引用(一般常用const修飾),在用已存在的類類型對(duì)象創(chuàng)建新對(duì)象時(shí)

    2024年02月20日
    瀏覽(25)
  • 17. C++ static、const 和 static const 類型成員變量聲明以及初始化

    1. C++ static、const 和 static const 類型成員變量聲明以及初始化 const 定義的常量在超出其作用域之后其空間會(huì)被釋放; static 定義的靜態(tài)常量在函數(shù)執(zhí)行后不會(huì)釋放其存儲(chǔ)空間; 1.2 static static 表示的是靜態(tài)的 類的靜態(tài)成員函數(shù)、靜態(tài)成員變量是和類相關(guān)的,而不是和類的具體對(duì)

    2024年01月18日
    瀏覽(53)
  • 【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++技能樹】類的六個(gè)成員函數(shù)Ⅰ --構(gòu)造、析構(gòu)、拷貝構(gòu)造函數(shù)

    【C++技能樹】類的六個(gè)成員函數(shù)Ⅰ --構(gòu)造、析構(gòu)、拷貝構(gòu)造函數(shù)

    Halo,這里是Ppeua。平時(shí)主要更新C語言,C++,數(shù)據(jù)結(jié)構(gòu)算法…感興趣就關(guān)注我吧!你定不會(huì)失望。 在開始本章內(nèi)容之前,先淺淺的了解一下this指針的概念.這對(duì)理解后面的內(nèi)容有著很大的幫助. this指針 顧名思義就是這個(gè)指針,我們先來看看下面這段很簡(jiǎn)單的代碼 首先創(chuàng)建了一個(gè)

    2024年02月02日
    瀏覽(29)
  • C++從入門到精通——類的6個(gè)默認(rèn)成員函數(shù)之拷貝構(gòu)造函數(shù)

    C++從入門到精通——類的6個(gè)默認(rèn)成員函數(shù)之拷貝構(gòu)造函數(shù)

    類的6個(gè)默認(rèn)成員函數(shù):如果一個(gè)類中什么成員都沒有,簡(jiǎn)稱為空類。 空類中真的什么都沒有嗎?并不是,任何類在什么都不寫時(shí),編譯器會(huì)自動(dòng)生成以下6個(gè)默認(rèn)成員函數(shù)。 默認(rèn)成員函數(shù):用戶沒有顯式實(shí)現(xiàn),編譯器會(huì)生成的成員函數(shù)稱為默認(rèn)成員函數(shù)。 在現(xiàn)實(shí)生活中,可

    2024年04月26日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包