衡阳派盒市场营销有限公司

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

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

3天內不再提示

C++:詳談構造函數

如意 ? 來源:百家號 ? 作者:cherrydreamsover ? 2020-06-29 11:44 ? 次閱讀

構造函數

1.概念

構造函數:一個特殊的成員函數,名字與類名相同,創建類類型對象的時候,由編譯器自動調用,在對象的生命周期內只且調用一次,以保證每個數據成員都有一個合適的初始值。

2.構造函數的特性

函數名和類名相同;

沒有返回值;

有初始化列表(可以不用);

新對象被創建,由編譯器自動調用,且在對象的生命周期內僅調用一次;

構造函數可以重載,實參決定了調用哪個構造函數;

如果沒有顯示的調用時,編譯器會提供一個默認的構造函數;

無參構造函數和帶有缺省值的構造函數都認為是缺省構造函數,并且缺省構造函數只能有一個;

構造函數不能用const修飾(因為const修飾類的成員函數時,該函數不能修改成員變量,但是構造函數要修改類的成員變量,因此不可以由const修飾)

3.初始化列表

C++:詳談構造函數

以冒號開始,接著是以逗號分隔的數據成員列表,每個數據成員后面跟一個放在圓括號中的初始化式。

4.初始化順序

數據成員在類中定義的順序就是參數列表中的初始化順序;

初始化列表僅用于初始化數據成員,并不指定這些數據成員的初始化順序;

每個成員在初始化列表中只能出現一次;

盡量避免使用成員初始化成員,成員初始化順序最好和成員的定義順序保持一致。

類中包含以下成員必須要放在初始化列表中初始化:

(1)引用數據類型

(2)const數據類型

(3)類類型成員(該類沒有缺省的構造函數)

5.默認構造函數

默認構造函數使用與成員變量初始化相同的規則初始化成員,對于內置類型和復合類型的成員,如組、指針,只對定義在全局定義作用于的對象初始化,對于局部作用域的內置和復合類型不作初始化。

6.構造函數的作用

構建對象

初始化對象

類型轉換

7.explcit

用explicit修飾構造函數,抑制由構造函數定義的隱式轉換,explicit關鍵字類內部的構建聲明上,在類的定義體外部的定義上不再重復。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • C++
    C++
    +關注

    關注

    22

    文章

    2114

    瀏覽量

    73857
  • 構造函數
    +關注

    關注

    0

    文章

    5

    瀏覽量

    2756
收藏 人收藏

    評論

    相關推薦

    請問STM32 C++構造函數怎么修改才能實現全局變量的初始化呢?

    在STM32F10X項目中使用了C++的特性,使用arm-none-eabi-g++編譯,程序可以正常運行。問題: C++定義的全局變量,其類的構造函數不被執行,在
    發表于 10-10 08:45

    C++課程資料詳細資料合集包括了:面向對象程序設計與C++,算法,函數

    本文檔的主要內容詳細介紹的是C++課程資料資料合集包括了:面向對象程序設計與C++,算法,函數,概述, C++語言基礎,構造數據類型,數據類
    發表于 07-09 08:00 ?18次下載
    <b class='flag-5'>C++</b>課程資料詳細資料合集包括了:面向對象程序設計與<b class='flag-5'>C++</b>,算法,<b class='flag-5'>函數</b>等

    如何深度解析C++拷貝構造函數詳細資料說明

    本文檔的主要內容詳細介紹的是如何深度解析C++拷貝構造函數詳細資料說明。
    發表于 07-05 17:41 ?0次下載
    如何深度解析<b class='flag-5'>C++</b>拷貝<b class='flag-5'>構造</b><b class='flag-5'>函數</b>詳細資料說明

    如何在中斷C函數中調用C++

    之前,我們在單片機程序開發時都會面對中斷函數。眾所周知的,這個中斷函數肯定是要用C函數來定義的。我在用C++進行程序開發的時候就發現了一個需
    發表于 05-09 18:17 ?0次下載
    如何在中斷<b class='flag-5'>C</b><b class='flag-5'>函數</b>中調用<b class='flag-5'>C++</b>

    Linux共享庫的構造函數和析構函數

    共享庫有類似C++構造和析構函數函數,當動態庫加載和卸載的時候,函數會被分別執行。一個函數
    的頭像 發表于 06-22 09:18 ?2354次閱讀
    Linux共享庫的<b class='flag-5'>構造</b><b class='flag-5'>函數</b>和析構<b class='flag-5'>函數</b>

    C++詳談拷貝構造函數

    只有單個形參,而且該形參是對本類類型對象的引用(常用const修飾),這樣的構造函數稱為拷貝構造函數。拷貝構造
    的頭像 發表于 06-29 11:45 ?2171次閱讀
    <b class='flag-5'>C++</b>:<b class='flag-5'>詳談</b>拷貝<b class='flag-5'>構造</b><b class='flag-5'>函數</b>

    C++詳談析構函數的特性和使用

    構造函數功能相反,在對象被銷毀時,由編譯器自動調用,完成類的一些資源清理和汕尾工作。
    的頭像 發表于 06-29 11:53 ?2483次閱讀
    <b class='flag-5'>C++</b>:<b class='flag-5'>詳談</b>析構<b class='flag-5'>函數</b>的特性和使用

    C++之拷貝構造函數的淺copy及深copy

    C++編譯器會默認提供構造函數;無參構造函數用于定義對象的默認初始化狀態;拷貝構造
    的頭像 發表于 12-24 15:31 ?800次閱讀

    c++構造函數學習的總結(一)

    關于這個構造函數,簡單理解就是在一個類中,有一個函數,它的函數名稱和類名同名,而且這個構造函數
    的頭像 發表于 12-24 18:06 ?769次閱讀

    EE-128:C++中的DSP:從C++調用匯編類成員函數

    EE-128:C++中的DSP:從C++調用匯編類成員函數
    發表于 04-16 17:04 ?2次下載
    EE-128:<b class='flag-5'>C++</b>中的DSP:從<b class='flag-5'>C++</b>調用匯編類成員<b class='flag-5'>函數</b>

    C++ C語言函數查詢電子版下載

    C++ C語言函數查詢電子版下載
    發表于 01-18 10:15 ?0次下載

    深度解析C++中的虛函數

    函數作為C++的重要特性,讓人又愛又怕,愛它功能強大,但又怕駕馭不好,讓它反咬一口,今天我們用CPU的角度,撕掉語法的偽裝,重新認識一下虛函數。 虛函數
    的頭像 發表于 02-15 11:14 ?880次閱讀
    深度解析<b class='flag-5'>C++</b>中的虛<b class='flag-5'>函數</b>

    淺析C++執行構造函數編程實例

    C++保證在你調用delete時,先自動調用析構函數(而我們安排在這個函數里面刪除它的法杖、法袍等對象),再刪除對象占用的內存。
    發表于 03-03 15:44 ?317次閱讀

    C++基礎知識之函數1

    函數C++ 中的一個重要概念,它可以讓我們將一段代碼封裝起來,然后在需要的時候調用它。C++ 中的函數有以下幾個特點: * 函數
    的頭像 發表于 04-03 10:34 ?616次閱讀

    同樣是函數,在CC++中有什么區別

    同樣是函數,在 CC++ 中有什么區別? 第一個返回值。 C語言的函數可以不寫返回值類型,編譯器會默認為返回 int。 但是
    的頭像 發表于 11-29 10:25 ?429次閱讀
    棋牌乐| 合胜娱乐城| 大发888棋牌| 网络篮球投注| 百家乐平注胜进与负追| 百家乐官网赌博导航| 博e百娱乐城注册| 赌百家乐到底能赌博赢| 丽景湾百家乐官网的玩法技巧和规则| 永清县| 元游视频棋牌游戏| 博天堂百家乐的玩法技巧和规则| 2024属虎人全年运势| 南宁百家乐官网赌机| 豪杰百家乐官网游戏| 顶级赌场娱乐城| 线上百家乐手机版| 可以玩百家乐的博彩网站| 百家乐官网游戏开户网址| 百家乐官网赌博破解| 大发888娱乐场下载iypu rd| 百家乐电脑游戏机投注法实例| 百家乐获胜秘决| 百家乐官网平注法规则| 百家乐官网网上真钱娱乐网| 百家乐官网象棋赌博| 百家乐官网娱乐城游戏| 巧家县| e世博备用网址| 大发888 赌场娱乐网规则| 防伪百家乐筹码币套装| 莫斯科百家乐的玩法技巧和规则 | 百家乐官网全透明牌靴| a8娱乐城线上娱乐| 大发888官网 df888ylcxz46 | 百家乐视频象棋| 在线百家乐官网作弊| 大西洋百家乐官网的玩法技巧和规则 | 大发888开户注册平台| 大发888官网官方下载| 大发888真人真钱赌博|