2012-04-15 87 views
2

我感到困惑枚舉如何帶班工作..關於C++枚舉和類以及它們是如何工作

這裏是我的測試代碼...是的,我知道這是行不通的...... http://ideone.com/oy3VH

基本上我有測試功能工作... Testing2和3是相同的功能,我只是爲了例子的目的。

我的困惑在於「testing3」。我希望通過調用具有人類可讀值的對象來訪問switch語句。如PlayAgain或說明。

現在,你可以在79行看到,這個工程..但只有當申報主要的enume(或W/E的範圍我所說的對象....

我想怎麼辦是一個沒有第二次申報行82?

使用enume名..因爲這是可能的..如果又如何?

感謝

回答

2

你之外,使用的時候需要你的範圍枚舉該類本身。

如:

Func(cEnumtest::PlayAgain); 

一些其他提示:

您的枚舉基本上是整型常量。我建議你有一個命名約定,爲了代碼可讀性和清晰的原因,嚴格區分它們與其他代碼。

例如:(數 'k' 表示常數; 'C' 通常被用於指示一個類數據類型所以這就是爲什麼數 'k' :)

enum eGameActions 
{ 
    kActionPlay, 
    kActionQuit, 
    kActionSaveGame 
}; 
+0

TESTIT.testing3(的TestIt ::指令) ; // dosn't工作! – aJynks 2012-04-15 00:57:35

+0

否..類定義範圍,而不是實例。 例如:enumTEST ::說明 – 2012-04-15 00:59:02

+0

肯克,我很抱歉,我不知道你的意思是什麼? TESTIT.testing3(enumTEST ::說明書); // dosn't工作! '說明':無法訪問類'enumTEST' – aJynks 2012-04-15 01:00:02