C++ 什么是類?

2023-03-20 16:49 更新

在大多數(shù)面向?qū)ο蟮木幊陶Z言中,類即為包含一系列函數(shù)的用戶自定義類型。正如我們看到的這樣,C++中的結(jié)構(gòu)體就符合這樣的定義。
但C++中有另外的結(jié)構(gòu)也符合這一定義;說起來有點令人迷惑,這一結(jié)構(gòu)就是類(class)。 在C++中,類就是變量默認為私有的結(jié)構(gòu)體。舉例來說,我可以把“紙牌”結(jié)構(gòu)體定義改成這樣。

class Card 
{ 
        int suit, rank; 

public: 
        Card (); 
        Card (int s, int r); 

        int getRank () const { return rank; } 
        int getSuit () const { return suit; } 
        int setRank (int r) { rank = r; } 
        int setSuit (int s) { suit = s; } 
}; 

我把struct改為class并去掉了private:這樣的標號。除了這兩處,兩個定義完全一致。
事實上,任何可以寫成struct的都可以寫成class,只是添加刪除標號而已。除了風格方面的原因,不必在二者之中進行過分取舍,不過大多數(shù)C++程序員使用class。
另外,通常把所有C++中自定義類型叫做“類(class)”,無論他們是被定義為struct或class。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號