我有一個遊戲引擎,我有一個GameObject類。這個Gameobject類是Model類繼承自的基類。現在,一個Cube類繼承自Model。在繼承期間,基類的基類是否也被繼承?
因此,我想知道Cube類是否可以從GameObject類訪問成員?
我有一個遊戲引擎,我有一個GameObject類。這個Gameobject類是Model類繼承自的基類。現在,一個Cube類繼承自Model。在繼承期間,基類的基類是否也被繼承?
因此,我想知道Cube類是否可以從GameObject類訪問成員?
只要函數或變量聲明爲public或protected,就可以從繼承的類訪問它們。
即
class GameObject{
public:
int getID(void);
};
class Model : public GameObject{
};
class Cube : public Model{
int useID(void){
return getID() + 5;
}
};
/亨利克
是的 - 除私人之外。可以訪問受保護的或公共的基礎類別
是的,只要基類不是私人的,或者涉及的成員。
是的,但他們必須是公共或保護。請參閱base class member access table。
這取決於您選擇的繼承類型。因此,如果B爲要繼承......然後下面是可能...
B:public A
B:protected A
B:private A (which is similar to B : A)
每一種傳承已是它自己的本性......它會影響什麼都一個子類可以訪問它的家長。另外,每一種繼承......都有其自身的優點和缺點。
而在大多數情況下......公共繼承被使用......並且在那裏Henrik的答案解釋了一切。
謝謝,最佳答案 – Sbspider
您的歡迎。雖然很多答案。 – Henrik
似乎每個人都離我而去知道這個問題的答案 – Sbspider