07 C 初始化表

2021-09-29 18:05:14 字數 1367 閱讀 3716

2. 初始化表的存在只是為了換個方法賦值嗎?其實不然!!!

#include 

using namespace std;

class

store

int fruits;

int weapons;};

int main

(void

)

初始化表功能上等同給成員變數賦值(初始化表語法只適用於建構函式)

#include 

using namespace std;

class

store

int fruits;

int weapons;};

int main

(void

)

輸出:

this is construct function

99 100

某些情況下,賦值語句是不允許寫在建構函式體內部的(在建構函式前就要首先被構造的成員)

#include 

using namespace std;

class

store

int fruits;

int weapons;

/*這裡是乙個int 引用型別*/

int& ref;};

int main

(void

)

this is construct function

99 100 88

為什麼這裡要用到初始化表呢?------類成員變數中有乙個int &ref,有一句話叫「引用即別名」,建構函式函式體當中已經可以使用使用ref這個引用了,但是這時還不知道ref是對誰的引用呢!!!,所以引用必須在函式體之前被定義,所以只好使用初始化表咯

類當中有自己的成員子物件,在呼叫類的建構函式前,需要先呼叫成員子物件。(成員子物件如果有預設建構函式,無須再特意使用初始化表來構造成員子物件;但是一旦寫了乙個建構函式,沒有預設建構函式,就必須使用初始化表提供成員子物件的構造方式)

#include 

using namespace std;

class

store

int fruits;

int weapons;};

class

mastore

store m_store;

/*類mastore 有乙個成員子物件 m_store*/

int m_subid;};

int main

(void

)

輸出:

this is construct function

99 100

07 C語言 常量

常量是固定值,在程式執行期間不會改變。這些固定的值,又叫做字面量。常量可以是任何的基本資料型別,比如整數常量 浮點常量 字元常量,或字串字面值,也有列舉常量。常量就像是常規的變數,只不過常量的值在定義後不能進行修改。整數常量可以是十進位制 八進位制或十六進製制的常量。字首指定基數 0x 或 0x 表...

07 C語言記憶體分析

c語言記憶體分析 一 進製 概念 進製是一種計數方式,是數值的表現形式 4種主要的進製 十進位制 0 9 二進位制 0和1 八進位制 0 7 十六進製制 0 9 a b c d e f c語言在預設的情況下為十進位制。int num 1010 十進位制 int num 0b1100 二進位制,以0b...

07 C 繼承和多型

建立於2017 12 25 1.繼承的形式 include 繼承 的重用性 using namespace std 人類 class human protected char name int age 男人 class man public human private 兄弟 char brother...