一,類的最基本的函式
乙個類至少有預設建構函式,拷貝建構函式,拷貝構造運算子,和析構函式四個最基本的函式,在下面的例子中將對這些函式進行講解。
**如下:
#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...