Ecco un altro esempio che non rientra nei precedenti e in cui non vi sono menbri statici o enum.
class MyClass
{
public:
int FaQualcosa() { return 5; }
};
class DerivedClass: public MyClass
{
public:
int FaQualcosa() { return 7; }
int FaQuesto() { return FaQualcosa(); }
int FaQuello() { return MyClass::FaQualcosa(); }
};
int main (void)
{
DerivedClass p;
int n = p.FaQuesto(); // n vale 7
int k = p.FaQuello(); // n vale 5
return 0;
}
In questo caso il nome 'FaQualcosa' è presente nelle due classi, e con l' operatore :: si precisa lo scope che si desidera.
Per quanto riguarda le variabili statiche te ne parlo volentieri però conviene aprire un altro thread. (e magari non subito perchè devo andare )