類是程式設計人員表達自定義資料型別的c++機制。它和c語言中的結構類似,c++類支援資料抽象和物件導向的程式設計,從某種意義上說,也就是資料型別的設計和實現。一、類的設計
1.類的宣告
class 類名
;2.類的成員
一般在c++類中,所有定義的變數和函式都是類的成員。如果是變數,我們就叫它資料成員如果是函式,我們就叫它成員函式。
3.類成員的可見性
private和public訪問控制符決定了成員的可見性。由乙個訪問控制符設定的可訪問狀態將一直持續到下乙個訪問控制符出現,或者類宣告的結束。私有成員僅能被同乙個類中的成員函式訪問,公有成員既可以被同一類中的成員函式訪問,也可以被其他已經例項化的類中函式訪問。當然,這也有例外的情況,這是以後要討論的友元函式。
類中預設的資料型別是private,結構中的預設型別是public。一般情況下,變數都作為私有成員出現,函式都作為公有成員出現。類中還有一種訪問控制符protected,叫保護成員,以後再說明。
4.初始化
在宣告乙個類的物件時,可以用圓括號()包含乙個初始化表。
看下面乙個例子:
#include iostream.h
class box
;box::box(int ht,int wd,int dp)
box::~box()
int box::volume()
int main()
當乙個類中沒有private成員和protected成員時,也沒有虛函式,並且不是從其他類中派生出來的,可以用{}來初始化。(以後再講解)
5.內聯函式
內聯函式和普通函式的區別是:內聯函式是在編譯過程中展開的。通常內聯函式必須簡短。定義類的內聯函式有兩種方法:一種和c語言一樣,在定義函式時使用關鍵字inline。如:
inline int box::volume()
還有一種方法就是直接在類宣告的內部定義函式體,而不是僅僅給出乙個函式原型。我們把上面的函式簡化一下:
#include iostream.h
class box
~box();
int volume()
};int main()
這樣,兩個函式都預設為內聯函式了。
建構函式有以下特點:
1.建構函式的名字必須與類名相同;
2.建構函式可以有任意型別的引數,但不能具有返回型別;
3.定義物件時,編譯系統會自動地呼叫建構函式;
4.建構函式是特殊的成員函式,函式體可以在類體內,也可寫在類體外;
5.建構函式被宣告為公有函式,但它不能像其他成員函式那樣被顯式呼叫,它是在定義物件的同時被呼叫的。
析構函式有以下特點:
1.析構函式的名字必須與類名相同,但它前面必須加乙個波浪號 ~ ;
2.析構函式沒有引數,也沒有返回值,而且不能被過載,因此在乙個類中只能有乙個析構函式;
3.當撤銷物件時,編譯系統會自動地呼叫析構函式。
sys / bios 中類建構函式和析構函式
類 建構函式和析構函式
一.類 類定義的變數就是物件 1.建構函式 只有 建立物件的時候系統自動呼叫的函式 初始化物件 1 建構函式名與類名相同 2 建構函式沒有返回值 3 建構函式可以過載 注意 關於建構函式 1 如果建構函式被呼叫了,則一定有乙個新物件被建立了 2 如果有乙個新物件被建立,則一定有乙個建構函式被呼叫了 ...
類建構函式 析構函式
下面的例項有助於更好地理解建構函式的概念 include using namespace std class line 成員函式定義,包括建構函式 line line void void line setlength double len double line getlength void 程式的...
類建構函式,類析構函式
類建構函式 the class constructor 是乙個特殊的類成員函式,當我們建立這個類的新物件時,會被執行。乙個建構函式將被確定與類名相同的名字,沒有任何返回值,包括void。建構函式對於給某些類成員變數設定初始值非常有用。例子 include using namespace std cl...