您好,登錄后才能下訂單哦!
這篇文章給大家介紹C++中如何定義類,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
什么是C++類
C++類是一種復(fù)雜的數(shù)據(jù)類型,它是將不同類型的數(shù)據(jù)和與這些數(shù)據(jù)相關(guān)的操作封裝在一起的集合體。這有點像C語言中的結(jié)構(gòu),***不同的就是結(jié)構(gòu)沒有定義所說的“數(shù)據(jù)相關(guān)的操作”,“數(shù)據(jù)相關(guān)的操作”就是我們平常經(jīng)??吹降摹胺椒ā?,因此,類具有更高的抽象性,類中的數(shù)據(jù)具有隱藏性,類還具有封裝性。
類的結(jié)構(gòu)(也即類的組成)是用來確定一類對象的行為的,而這些行為是通過類的內(nèi)部數(shù)據(jù)結(jié)構(gòu)和相關(guān)的操作來確定的。這些行為是通過一種操作接口來描述的(也即平時我們所看到的類的成員函數(shù)),使用者只關(guān)心的是接口的功能(也就是我們只關(guān)心類的各個成員函數(shù)的功能),對它是如何實現(xiàn)的并不感興趣。而操作接口又被稱為這類對象向其他對象所提供的服務(wù)。
類的定義格式
類的定義格式一般地分為說明部分和實現(xiàn)部分。說明部分是用來說明該類中的成員,包含數(shù)據(jù)成員的說明和成員函數(shù)的說明。成員函數(shù)是用來對數(shù)據(jù)成員進(jìn)行操作的,又稱為“方法”。實現(xiàn)部分是用來對成員函數(shù)的定義。概括說來,說明部分將告訴使用者“干什么”,而實現(xiàn)部分是告訴使用者“怎么干”。
下面簡單地對上面的格式進(jìn)行說明:class是定義類的關(guān)鍵字,<類名>是種標(biāo)識符,通常用T字母開始的字符串作為類名。一對花括號內(nèi)是類的說明部分(包括前面的類頭)說明該類的成員。
類的成員包含數(shù)據(jù)成員和成員函數(shù)兩部分。從訪問權(quán)限上來分,C++類的成員又分為:公有的(public)、私有的(private)和保護(hù)的(protected)三類。公有的成員用public來說明,公有部分往往是一些操作(即成員函數(shù)),它是提供給用戶的接口功能。這部分成員可以在程序中引用。
私有的成員用private來說明,私有部分通常是一些數(shù)據(jù)成員,這些成員是用來描述該C++類中的對象的屬性的,用戶是無法訪問它們的,只有成員函數(shù)或經(jīng)特殊說明的函數(shù)才可以引用它們,它們是被用來隱藏的部分。保護(hù)類(protected)將在以后介紹。
圖解Visual C++ 5.0界面差異說明
Visual C++工具簡介
C++析構(gòu)函數(shù)和this指針說明
初次接觸C/C++語言注意事項
概括C++代碼詳解
關(guān)鍵字public,private和protected被稱為訪問權(quán)限修飾符或訪問控制修飾符。它們在類體內(nèi)(即一對花括號內(nèi))出現(xiàn)的先后順序無關(guān),并且允許多次出現(xiàn),用它們來說明類成員的訪問權(quán)限。
其中,<各個成員函數(shù)的實現(xiàn)>是類定義中的實現(xiàn)部分,這部分包含所有在C++類體內(nèi)說明的函數(shù)的定義。如果一個成員函數(shù)的類體內(nèi)定義了,實現(xiàn)部分將不出現(xiàn)。如果所有的成員函數(shù)都在類體內(nèi)定義,則實現(xiàn)部分可以省略。
下面給出一個日期類定義的例子:
class TDate { public: void SetDate(int y, int m, int d); int IsLeapYear(); void Print(); private: int year, month, day; }; //類的實現(xiàn)部分 void TDate::SetDate(int y, int m, int d) { yyear = y; mmonth = m; dday = d; } int TDate::IsLeapYear() { return(year%4==0 && year%100!=0) || (year%400==0); }
關(guān)于C++中如何定義類就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。