++類的成員變量和成員函數(shù)
[例1] 類可以包含成員變量和成員函數(shù):
class student
{
char name[20]; //姓名
int id_num; //學(xué)號
int age; //年齡
char sex; //性別
void set_age(int a);
int get_age();
};
本例聲明了類student,并且在student類中聲明了四個成員變量:name、id_num、age和sex。這四個成員變量用于描述student特性。除此之外我們還在類中定聲明了兩個函數(shù),set_age函數(shù)和get_age函數(shù),這兩個函數(shù)是student類的成員函數(shù),這兩個函數(shù)只給出了聲明,未給出定義。
有兩種方法可以給出成員函數(shù)的定義:
在類內(nèi)部進(jìn)行函數(shù)的聲明和定義,此種方式我們成為inline,也即內(nèi)聯(lián)定義。inline是C++關(guān)鍵字,專門用于表示內(nèi)聯(lián);
在類內(nèi)進(jìn)行函數(shù)聲明,在類外部進(jìn)行函數(shù)定義。
下面我們分別給出兩種情況的示例。
[例2] 在類內(nèi)部進(jìn)行函數(shù)的聲明和定義:
class student
{
char name[20]; //姓名
int id_num; //學(xué)號
int age; //年齡
char sex; //性別
void set_age(int a){age = a;}
int get_age(){return age;}
};
在本例中,兩個成員函數(shù)均是在類聲明內(nèi)部進(jìn)行聲明和定義的,因此這兩個函數(shù)是inline類型的。
內(nèi)聯(lián)函數(shù)可以通知編譯器在編譯階段用成員函數(shù)set_age和get_age的函數(shù)體替換掉所有調(diào)用該函數(shù)的代碼,這樣替換后的代碼將不會再出現(xiàn)對這個函數(shù)的調(diào)用的代碼。通過直接的替換可以在一定程度上提高程序運行效率,通常只是用于一些簡短函數(shù)。
免責(zé)聲明:以上內(nèi)容源自網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請告知,我們將盡快刪除相關(guān)內(nèi)容。