Polimorfizm - nadpisanie z różnymi argumentami.

0

Czy w c++ jest możliwość nadpisania funkcji wirtualnej i przydzielenia jej innych argumentów?
Jeśli nie,to jak sobie z tym radzić?
Przykład:

class Zwierze
{
    virtual void dajGlos(int, int) = 0;
};
class Pies: public Zwierze
{
     virtual void dajGlos(int, int, int);
};
5

Nie. Dynamiczny polimorfizm wymaga statycznego interfejsu, inaczej wymagasz, aby w czasie kompilacji (czyli statycznie) wiadomo było jaki jest dynamiczny typ obiektu.

Wygląda mi to trochę na problem XY.

0
Bolae napisał(a):

Czy w c++ jest możliwość nadpisania funkcji wirtualnej i przydzielenia jej innych argumentów?
Jeśli nie,to jak sobie z tym radzić?
Przykład:

class Zwierze
{
    virtual void dajGlos(int, int) = 0;
};
class Pies: public Zwierze
{
     virtual void dajGlos(int, int, int);
};

stworz strukture i dawaj ja jako argument. Posniej mozesz z tej struktury dziedziczyc. Proste, inaczej sie nie da. Sygnatura funkcji musi byc taka sama, ewentualnie zwracany typ moze byc dziedziczony z klasy bazowej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1