2014-12-02 76 views
-4

所以我一直在通過www.learncpp.com/c++入門和通過谷歌的力量學習C++一段時間,我的目標一直是製作某種類型的RPG,即使它是基於文本的。統計員,結構和類別有什麼區別?

目前與我有限的知識,我試圖使存儲項目/武器/字符/法術/統計/等系統。

  • 我知道,通過結構默認 有公共變量和類具有默認私有變量。

  • 我也知道,他們所有的存儲數據

只有我不知道的事情是什麼是他們的所有3,當我應該使用每個人之間的區別。

+0

枚舉基本上只是名稱整數,你給名稱的值。對於結構體vs類,我個人的經驗法則是POD - > struct,否則是類。 – Borgleader 2014-12-02 21:09:04

+0

'struct'和'class'是非常可比的(成員變量,函數等),但是'enum'與前兩個沒有任何關係。他們基本上是'typedef''d'int'(或多或少)。 – CoryKramer 2014-12-02 21:12:04

+0

@Borgleader當所有成員都是公開的時候,會有很多人使用'struct'作爲快捷鍵。如果你看看你的標準庫實現,你可能會找到一些例子。 – 2014-12-02 21:15:12

回答

-1

現代C++對待結構體和類是一樣的,唯一的區別是結構體默認爲public,而類默認爲private。它們基本上是具有相關功能的數據集合。 例如

class Player 
{ 
    private: 
     int health; 
     int attack; 
    public: 
     void calculateHealth(int healthChange); 
} 

枚舉基本上已命名的數字,例如:

enum Months {January=1, February=2 ...} 

所以現在不是說if currentMonth == 3你可以說if currentMonth == Months.March 枚舉使代碼更容易理解。

+0

人們也可以提到enum class {},它基本上就像一個枚舉,但不允許從枚舉類型到整數的隱式轉換。 – smoothware 2014-12-02 22:00:05