我有一個Doughnut
類,eaten
布爾型字段。我需要使布爾變量成爲一個全局變量,但它必須是本地的,所以我可以創建多個實例,其中有些是「吃掉」的,有些則不是。我想讓甜甜圈以圖形方式消失時,它已被吃掉本地/全局布爾問題
設置它的全球性問題是所有我的甜甜圈將被標記「吃」一吃,而且如果它是本地它不會消失時消失。我怎樣才能解決這個問題?
我有一個Doughnut
類,eaten
布爾型字段。我需要使布爾變量成爲一個全局變量,但它必須是本地的,所以我可以創建多個實例,其中有些是「吃掉」的,有些則不是。我想讓甜甜圈以圖形方式消失時,它已被吃掉本地/全局布爾問題
設置它的全球性問題是所有我的甜甜圈將被標記「吃」一吃,而且如果它是本地它不會消失時消失。我怎樣才能解決這個問題?
每個甜甜圈都有一個布爾值。
如果你有一個甜甜圈類,添加成員標記:
class Doughnut
{
bool m_bEaten;
};
或者也許你不想來存儲甜甜圈的信息,這樣你就可以有一個映射;)
std::map<Doughnut, bool> Doughnuts;
但你需要實現運營商<的甜甜圈:)
或者,如果你知道你有10個甜甜圈,你可以有一個靜態數組來保存其doughnu標誌t被吃掉:
bool eatenDoughnuts[10]; // Initialize properly.
// Eat any doughnut you like:
eatenDoughnuts[2] = true;
// Check if you have eaten doughnut number 2:
if(eatenDoughnuts[2])
{
// Pure doughnut number 2.
}
或者,如果你不知道在編譯時使用動態容器甜甜圈數量:
std::vector<bool> atenDoughnuts;
或者,使用模板元編程吃你的甜甜圈編譯時間;)
然而,這個問題是編輯,所以我們相信你有一個甜甜圈班。所以這裏有雲:
#include <vector>
class Doughnut
{
public:
enum Kind {VANILLA, CHOCOLATE}; // The kind of your doughnut.
Doughnut(Kind k = VANILLA) // VANILLA is the default.
: kind(k), eaten(false) {}
void eat() { eaten = true; } // We luv eating doughnuts.
bool isEaten() { return eaten; }
private:
Kind kind; // The kind of your doughnut.
bool eaten; // Has anyone eaten it yet?
};
int main()
{
// Your delicious doughnuts package :)
std::vector<Doughnut> deliciousDoughnuts;
// Go buy some delicious doughnuts.
deliciousDoughnuts.push_back(Doughnut(Doughnut::VANILLA));
deliciousDoughnuts.push_back(Doughnut(Doughnut::CHOCOLATE));
deliciousDoughnuts.push_back(Doughnut(Doughnut::VANILLA));
// You love delicious chocolate doughnut? EAT IT!
deliciousDoughnuts[1].eat();
// Check have you drooped it down or you are good!
if(deliciousDoughnuts[1].isEaten())
{
// Poor chocolate doughnut...
}
}
今天樣我有點;)
是的,我想過這是可以做出一個布爾值數組嗎? – himmerz 2011-03-28 16:23:36
@himmerz:我認爲你需要收集甜甜圈。 – reinierpost 2011-03-28 16:24:56
當然,但你可能想要一系列甜甜圈。 – 2011-03-28 16:27:22
我假設你有一個Doughnut
類。將一個boolean
成員添加到該類中,並創建一個可以更改其值的函數。
如果甜甜圈在食用時應該消失,你真的想要一個標誌 ?這聽起來更可能是你只想破壞 它。以圖形方式,如果您使用的是MVS或類似的軟件,則可視化將由觀察者處理,並且多福餅的分解者將通知觀察者其消失;查看對象 將照顧圖形(並且一旦從屏幕上刪除了對象,可能也會自行破壞, )。
什麼,甜甜圈? – 2011-03-28 16:22:14
如果這應該是一個笑話,我不明白。 – fredoverflow 2011-03-28 16:22:38
我認爲你的問題應該更好地改寫...... – 2011-03-28 16:24:15