如果我在基類中聲明瞭幾個變量,它們將在每個派生類中定義,對吧?我只想在所有派生類中爲基類提供一次變量。例如:如何在基類中初始化唯一變量(繼承)
class Base{
public:
virtual ~Base();
protected:
Base();
int fileIndex;
};
class DerivedA : public Base{
public:
DerivedA();
virtual ~DerivedA();
void DoSth(); //using fileIndex
};
class DerivedB : public Base{
public:
DerivedB();
virtual ~DerivedB();
void DoSthDifferent(); //using the same fileIndex
};
我該怎麼做?
你已經做到了!可能的副本:[私人和受保護的成員](http://stackoverflow.com/q/224966/514235) – iammilind
當你說你想讓所有派生類使用相同的fileIndex時,你的實際意思是什麼。到目前爲止所有的答案都理解它意味着所有的基礎,無論它們是否使用繼承,都應該使用相同的底層文件索引值。 但似乎你的例子過於複雜的解釋。 –
是的,你的意思是你只想在基礎中定義這些成員一次,但在每個實例中存儲單獨的副本(包括派生類 - 標準繼承),或者你希望所有實例共享相同的成員('static' )?我建議遵循以下標誌說明:_「請澄清您的具體問題或添加其他詳細信息以突出顯示您所需的內容。由於它目前已寫入,因此很難確切地告訴您所要求的內容。請參閱如何尋求幫助以澄清問題這個問題。「_ –