C 學習筆記1

2021-06-07 00:13:15 字數 1408 閱讀 2132

一,類的最基本的函式

乙個類至少有預設建構函式,拷貝建構函式,拷貝構造運算子,和析構函式四個最基本的函式,在下面的例子中將對這些函式進行講解。

**如下:

#includeusing namespace std;

class superone;

superone::superone()

void superone::setpubsuperone(intpubsuperone)

int superone::getprosuperone()

void superone::setprosuperone(intprosuperone)

int superone::getprisuperone()

void superone::setprisuperone(intprisuperone)

void superone::publicsuperone()

視窗輸出的第 2 行就是。

(2).用new運算子構造物件時使用

比如24,superone *s5 = new superone(1,2,3);

輸出視窗中的第 13行就是。

3,  拷貝建構函式

宣告:類名(類名 & 變數);本例中的superone(superone& source);//拷貝建構函式用法:用乙個類的變數來初始化另乙個類的變數,比如6,superone s2(s0);

輸出視窗中的第 3 行就是。

4,拷貝構造運算子;

宣告:類名& operator=(類名 & 變數);

本例中superone&operator=(superone & source);//拷貝賦值運算子

用法:用乙個物件初始化另乙個物件,或者用乙個物件物件對另乙個物件賦值。

(1),** 8 ,superones3 = s1;中是在物件宣告是初始化。

對應的輸出為第 4 行

(2), ** 17,s1=s0;是對乙個已經存在的物件賦值,

對應的輸出為第 9 行。

注意:如果在物件的宣告的時候進行初始化,則呼叫的是拷貝建構函式。

如果物件已經初始化過了,則呼叫拷貝建構函式。

5,析構函式

宣告:~類名();沒有返回值哦,並且不能過載,只有乙個。

用法:(1),在物件宣告週期結束後被自動呼叫。

輸出的最後四行就是。

(2),呼叫delete 運算子刪除物件指標時被呼叫。

** 22 delete s4, 26 delete s5;都是這種用法

輸出的12, 14 就是。

小結:對於c++ 中的類來說,乙個類的函式至少有四個即,預設的不帶引數的建構函式,預設拷貝建構函式,預設拷貝構造運算子,預設析構函式,如果你沒有寫,編譯器會自動生成,如果你寫了,編譯器就不自動生成了。

C 學習筆記(1)

1.類和結構體的區別 區別在於訪問控制方面,對於結構體而言,所有成員預設都是public,即在外部可以訪問,對於類來說,預設條件下成員函式都是private,不能被外部訪問。2.c 中的建構函式 建構函式最重要的作用是建立物件本身。c 規定,每個類必須有乙個建構函式,沒有它,就不能建立任何物件。乙個...

C 學習筆記1

c 中結構體 和 類可以通用,結構體中也可以定義函式.區別 在於訪問控制。結構體中 預設成員 都是public 類中 預設 私有的 建構函式 1。建構函式最重要的作用是建立物件本身 2.c 規定,每個類必須有乙個建構函式,沒有建構函式,就不能建立任何物件 3.如果沒有提供建構函式,則c 提供乙個預設...

C 學習筆記1

1.this 指標。當前物件的位址。只能在類的成員函式中呼叫。類和物件。類就像定義的結構體型別,物件就是該型別定義的變數。在class和nameplace中使用 c 中類和結構體 在c 中只有兩點區別 class中預設的成員訪問許可權是private的,而struct中則是public的。從clas...