C 中最容易被人忘記的建構函式初始化列表

2021-07-27 15:43:42 字數 948 閱讀 8718

1、 初始化的資料成員是物件

2、類的成員變數被const修飾

3 、需要初始化引用成員資料1、 指標

2.、static 標記的,static const 也不需初始化列表中

static屬於類並不屬於具體的物件,所以 static成員是不允許在類內初始化的。

類中的物件的初始化順序 跟初始化列表無關, 而跟物件的定義順序有關

class a

~a()

void printa()

private:

int m_a;

};class b

void printb()

~b()

private:

int m_b;

a a2;

a a1;

};

class abc

abc(int a, int b, int c)

abc(const abc & another)

private:

int m_a;

int m_b;

int m_c;

};class abcd

abcd(int d):m_m(0)

abcd(int a, int b, int c, int d) : abcobj(a, b, c), m_m(0)

abcd(abc &abc, int d) : abcobj(abc) ,m_m(0)

private:

abc abcobj;

int m_d;

const int m_m;

};

class a

~a(){}

private:

const int a;

int& b;

}

C 容易被人忽略的地方

const int r 42和int r 42前者可以編譯過,而後者不可以。double dval 3.14 int ri dval dval 10 編譯出現error c2440 初始化 無法從 double 轉換為 int 但下面的就可以 double dval 3.14 const int r...

初遇C 拷貝建構函式

拷貝建構函式作用 用乙個已存在的物件來初始化乙個正在建立的新物件。拷貝建構函式有以下特徵 拷貝建構函式名與類名相同,形參只有乙個,是物件的引用,所以不能過載拷貝建構函式,拷貝建構函式原形為 類名 類名 物件名 拷貝建構函式無任何函式返回型別說明 若類宣告中無拷貝建構函式,系統會自動給出乙個預設的拷貝...

PHP中最容易忘記的一些知識點總結

1 定義常量 1define tax rate 0.08 echo tax rate 輸出0.08 2 php 5.3 const tax rate2 0.01 echo tax rate2 輸出0.01 2 require 和require once 區別 前者遇到即包含檔案,後者會判斷是否已經包...