019 建構函式的分類以及物件的三種初始化方法

2021-08-27 20:32:07 字數 1204 閱讀 1357

/*

建構函式的分類

*/#if 1

class test

//2、有引數建構函式

test(int a)

test(int a, int b) //有引數建構函式 //3種方法

//3、賦值建構函式(copy建構函式)

test(const test& obj)

~test()//析構函式

public:

void printt()

private:

int m_a;

int m_b;

protected:

};void test()

//呼叫 呼叫有引數建構函式 3種方法

//1括號法

test t1(1, 2);//呼叫引數建構函式 c++編譯器 自動的 呼叫建構函式

//2 =號法 (3, 4) 是乙個逗號表示式,此時需要注意類中僅有乙個引數的成員函式

test t2 = (3, 4); // = c+對等號符 功能增強 c++編譯器 自動的 呼叫建構函式

test t3 = (3, 4, 5); //除錯看

test t4 = 33; //除錯看

cout

<< "匿名物件演示"

<< endl;

//3 手動呼叫 建構函式 顯示的呼叫 直接呼叫建構函式會產生匿名物件

//只會呼叫1次建構函式

//類名 物件名 = 建構函式名(11, 22)

test t5 = test(11, 22);//會產生匿名物件,此時匿名物件轉正,不會被析構(匿名物件的去和留問題)直接呼叫有參建構函式完成t5物件的初始化

t1 = test(11, 22); //會產生匿名物件,此時匿名物件被析構

t1 = t5;//把t5 copy 給 t1 是賦值操作,預設是淺拷貝

/* test t5 = test(11, 22) //物件的初始化

t1 = t5; //物件的賦值

兩條語句的 = 是不同的概念

物件的初始化 和物件的賦值 是兩個不同的概念

JS 類 物件以及物件的建構函式

一 類 對一類抽象事物共有特徵的描述 如人 杯子 二 物件 乙個具體的例項 如小剛 保溫杯 var xiaogang var xiaoli var xiaohua function car car.lun1 左前輪 car.lun2 右前輪 car.lun3 左後輪 car.lun4 右後輪 car...

物件和物件指標以及物件引用的使用

如下程式 include include using namespace std class m 向編譯系統宣告,m類在整個源程式內已經定義 class student void set string str void print class m m類的有參建構函式 m m類的無參建構函式 int ...

物件導向的特性以及對其理解

1.封裝 所謂封裝,就是將客觀事物封裝成抽象的方法,並且類可以吧資料和放發讓可信的類或者物件進行操作,對不可信的類或物件進行影藏。類是封裝資料和操作這些資料 的邏輯實體。在乙個類的內部,某些屬性和方法是私有的,不能被外界訪問。通過這中方式,物件內部資料進行了不同級別的訪問控制,就避免了程式中的無關部...