class base {
public:
int foo();
int foo(int a);
int foo(char* b);
int doSomething(int);
}
class derived : public base
{
public:
int doSomething(int b);
}
int derived::doSomething(int b)
{
base::doSomething(b);
//Make Something else
}
int main()
{
derived d= new derived();
d->foo();
}
maintenant dans la méthode foo (l'un d'entre eux) je veux appeler le doSomething plus spécifique. si par exemple une classe dérivée je veux le doSomething de la classe dérivée, et si par exemple une classe de base je veux le doSomething de la classe de base, malgré que j'appelle de la méthode de foo implémentée dans la classe de base.Surcharge en C++
int base::foo()
{
//do something
makeSomething(5);
}
au mot-clé 'virtual'. –