我有一個基類和幾個可以有多個實例的派生類。 派生類有一個靜態字符串,其中存儲國籍名稱。 看起來像這樣...實現基類方法來訪問派生類的屬性
// Base Class
class Person{
private:
// Informations that every person has. Not depending on the nationality
unsigned char m_size;
char[] m_name;
public:
// Get the human readable name of a nationality
void getNationalityName(char* pNatiName);
}
void Base::getNationalityName(char* pNatiName);
{
strcpy(pNatiName, m_nationalityName);
}
// A derived class
class American : public Person{
private:
unsigned int m_dollar;
static char[] m_nationalityName;
}
// Another derived class
class Russian : public Person{
private:
unsigned int m_rubel;
static char[] m_nationalityName;
}
現在,我想從一個派生類的方法「getNationalityName」訪問國籍的名字。 問題是,基類不知道派生類具有名爲「m_nationalityName」的屬性。
我可以在每個類中實現「getNationalityName」方法,但我認爲這不是解決此問題的正確方法。
似乎是一個不錯的解決方案。謝謝:) – Praind