91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

c++中構(gòu)造函數(shù)學習的總結(jié)(一)

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-24 18:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

大家晚上好,今天給大家分享的是c++中的構(gòu)造函數(shù),這段時間可能分享c++、Uboot、linux內(nèi)核的文章會比較多一點,自己的拖延癥太強了,得改掉這個壞習慣來。每天進步一點點,日積月累你也是專家。

一、構(gòu)造函數(shù):

1、什么是構(gòu)造函數(shù)?

關(guān)于這個構(gòu)造函數(shù),簡單理解就是在一個類中,有一個函數(shù),它的函數(shù)名稱和類名同名,而且這個構(gòu)造函數(shù)沒有返回值類型的說法( Test()這個函數(shù)就是構(gòu)造函數(shù)了。):

#include <stdio.h>

class Test:

public:

Test()

printf("Test()");

2、構(gòu)造函數(shù)調(diào)用:

(1)一般情況下,構(gòu)造函數(shù)在定義時自動被調(diào)用(主要作用就是自動去初始化類中的屬性,這個屬性通俗一點來說,就是我們所說的變量。而且這里的自動的意思,就是說當你創(chuàng)建了一個對象后,它就會自動調(diào)用構(gòu)造函數(shù),不用你再去main函數(shù)里面寫構(gòu)造函數(shù)了。):

#include <stdio.h>

class Test

public:

Test()

printf("Test()");

};

int main()

Test t; // 調(diào)用 Test()

return 0;

演示結(jié)果如下:

root@txp-virtual-machine:/home/txp/c++# ./a.out

Test()

(2)一些特殊情況下,需要手工來調(diào)用構(gòu)造函數(shù)(這個在下面帶參數(shù)的構(gòu)造函數(shù)里面會有一個案例分析)

二、帶參數(shù)的構(gòu)造函數(shù):

(1)構(gòu)造函數(shù)可以根據(jù)需要定義參數(shù)。

class Test

public:

Test(int v)

};

(2)一個類中可以存在多個重載的構(gòu)造函數(shù)(什么重載函數(shù),簡單來說,可以同函數(shù)名,但是它的傳參類型或者返回類型不同就是重載函數(shù)了。)下面來看一個具體帶參構(gòu)造函數(shù)案例:

#include <stdio.h>

class Test

private:

int m_value;

public:

Test()

printf("Test()");

m_value = 0;

Test(int v)

printf("Test(int v), v = %d", v);

m_value = v;

int getValue()

return m_value;

};

int main()

Test ta[3] = {Test(), Test(1), Test(2)};

for(int i=0; i<3; i++)

printf("ta[%d].getValue() = %d", i , ta[i].getValue());

Test t = Test(100);

printf("t.getValue() = %d", t.getValue());

return 0;

演示結(jié)果如下:

root@txp-virtual-machine:/home/txp/c++# ./a.out

Test()

Test(int v), v = 1

Test(int v), v = 2

ta[0].getValue() = 0

ta[1].getValue() = 1

ta[2].getValue() = 2

Test(int v), v = 100

t.getValue() = 100

三、實戰(zhàn)案例:

需求:開發(fā)一個數(shù)組類解決原生數(shù)組的安全性問題:

——提供函數(shù)獲取數(shù)組長度

——提供函數(shù)獲取數(shù)組元素

——提供函數(shù)設(shè)置數(shù)組元素

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

    關(guān)注

    7

    文章

    526

    瀏覽量

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

    關(guān)注

    22

    文章

    2124

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    keil實現(xiàn)cc++混合編程

    參考touchgfx生成的代碼,發(fā)現(xiàn)了個不需要添加--cpp11 參數(shù)的解決方法,具體操作如下。 、創(chuàng)建個空白的C文件和頭文件在頭文件
    發(fā)表于 01-26 08:58

    C語言與C++的區(qū)別及聯(lián)系

    創(chuàng)建源文件時什么都不給,默認是.cpp。 3、返回值 C語言中,如果函數(shù)沒有指定返回值類型,默認返回int類型;C++,如果
    發(fā)表于 12-24 07:23

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

    控制能力,這點與C語言相似,使得它們在系統(tǒng)編程、嵌入式系統(tǒng)等領(lǐng)域都得到廣泛應(yīng)用。 3、發(fā)展歷程: C++正是在C語言的基礎(chǔ)上逐步發(fā)展起來的,C
    發(fā)表于 12-11 06:51

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

    區(qū)別 1、面向?qū)ο缶幊?(OOP): C語言是種面向過程的語言,它強調(diào)的是通過函數(shù)將任務(wù)分解為系列步驟進行執(zhí)行。 C++
    發(fā)表于 12-11 06:23

    C/C++條件編譯

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

    C++程序異常的處理機制

    1、什么是異常處理? 有經(jīng)驗的朋友應(yīng)該知道,在正常的CC++編程過程難免會碰到程序不按照原本設(shè)計運行的情況。 最常見的有除法分母為零,數(shù)組越界,內(nèi)存分配失效、打開相應(yīng)文件失敗等等。
    發(fā)表于 12-02 07:12

    激活函數(shù)ReLU的理解與總結(jié)

    : 下面解釋上述公式的softplus,Noisy ReLU。 softplus函數(shù)與ReLU函數(shù)接近,但比較平滑,同ReLU樣是單邊抑制,有寬廣的接受域(0,+inf),
    發(fā)表于 10-31 06:16

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

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

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

    和PiGPIO等庫,C++可用于編程控制樹莓派的GPIO引腳。它提供了更好的性能和控制能力,非常適合對速度和精度要求較高的硬件項目。在樹莓派社區(qū),關(guān)于“Python
    的頭像 發(fā)表于 08-06 15:33 ?4159次閱讀
    技能+1!如何在樹莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    C語言中的內(nèi)聯(lián)函數(shù)與宏

    C編程,內(nèi)聯(lián)函數(shù)和宏都用于避免函數(shù)調(diào)用的開銷并編寫可復用的邏輯部分,但它們在工作方式和安全性方面存在顯著差異。
    的頭像 發(fā)表于 07-25 15:10 ?1917次閱讀
    <b class='flag-5'>C</b>語言中的內(nèi)聯(lián)<b class='flag-5'>函數(shù)</b>與宏

    深入理解C語言:函數(shù)—編程的“積木塊”藝術(shù)

    在編程的世界里,函數(shù)就像建筑的“積木塊”——它們是構(gòu)建復雜程序的基石。通過靈活組合這些模塊,開發(fā)者能打造出功能強大且結(jié)構(gòu)清晰的代碼。函數(shù)之所以成為C語言的核心,正是因為它解決了編程
    的頭像 發(fā)表于 06-30 17:26 ?1879次閱讀
    深入理解<b class='flag-5'>C</b>語言:<b class='flag-5'>函數(shù)</b>—編程<b class='flag-5'>中</b>的“積木塊”藝術(shù)

    在OpenVINO? C++代碼啟用 AddressSanitizer 時的內(nèi)存泄漏怎么解決?

    在 OpenVINO? C++代碼啟用 AddressSanitizer 時遇到內(nèi)存泄漏: \"#0 0xaaaab8558370 in operator new(unsigned
    發(fā)表于 06-23 07:16

    基于LockAI視覺識別模塊:C++目標檢測

    本文檔基于瑞芯微RV1106的LockAI凌智視覺識別模塊,通過C++語言做的目標檢測實驗。本文檔展示了如何使用lockzhiner_vision_module::PaddleDet類進行目標檢測,并通過lockzhiner_vision_module::Visualize函數(shù)
    的頭像 發(fā)表于 06-06 13:56 ?845次閱讀
    基于LockAI視覺識別模塊:<b class='flag-5'>C++</b>目標檢測

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

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

    C++學到什么程度可以找工作?

    C++開發(fā)的工作不僅需要深厚的編程功底,還要具備解決實際問題的能力,以及良好的溝通能力和團隊協(xié)作精神。此外,持續(xù)學習和更新自己的知識體系也是保持競爭力的關(guān)鍵。
    發(fā)表于 03-13 10:19