Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Problem z funkcjami wirtualnymi, polimorfizmem

Ostatnio zmodyfikowano 2014-12-07 14:48
Autor Wiadomość
akcza
Temat założony przez niniejszego użytkownika
[C++] Problem z funkcjami wirtualnymi, polimorfizmem
» 2014-12-07 13:58:50
Witam, kod:
C/C++
class Shape
{
public:
    virtual void shift( float x, float y ) = 0;
    virtual bool isColliding( Shape * shape );
};

class Circle
    : public Shape
{
public:
    bool isColliding( Circle * circle );
};

Shape * shape = new Circle( - 2, 0, 5 );
Circle * circle = new Circle( 5, 0, 5 );
shape->isColliding( circle ); //wywołuje z shape

Co zrobić aby ostatni linijka była wykonywana dla funkcji isCollding z klasy Circle?
P-122462
Monika90
» 2014-12-07 14:30:38

C/C++
virtual bool isColliding( Shape * shape );
C/C++
bool isColliding( Circle * circle );
Typ argumentów się nie zgadza, musi być ten sam.
P-122466
akcza
Temat założony przez niniejszego użytkownika
» 2014-12-07 14:48:34
Tak, też do tego doszedłem. Myślałem, że w magiczny sposób zadziała tutaj jakaś niejawna konwersja połączona z właściwościami funkcji wirtualnych i dziedziczenia.

Dzięki Monia!
P-122467
« 1 »
  Strona 1 z 1