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

[C++] Wskaźnik klasy głównej na wskaźnik klasy dziedziczącej po klasie głównej.

Ostatnio zmodyfikowano 2011-06-27 20:56
Autor Wiadomość
akwes
Temat założony przez niniejszego użytkownika
[C++] Wskaźnik klasy głównej na wskaźnik klasy dziedziczącej po klasie głównej.
» 2011-06-27 20:46:44
Hm... Ciężko to będzie opisać.

Mam klasę Obiekt.
Mam klasę Hero dziedziczącą po klasie Obiekt, z kilkoma nowymi zmiennymi.

Funkcja działająca na wskaźnikach na obiekty klasy Obiekt może również operować na wskaźnikach na obiekty klasy Hero.
Jednak potrzebuję aby w tej funkcji w pewnym przypadku wystąpiło odwołanie do klasy Hero.

C/C++
class Obiekt
{
public:
    int a;
};

class Hero
    : public Obiekt
{
public:
    char b;
};

void foo( obiekt * ob )
{
    ...
    < jakis warunek >
    ob->b = 'x';
    ...
}

Konwersja Obiekt* na Hero* nie jest znana kompilatorowi. Jak zrobić aby moc odwołać się do zmiennych składowych klasy Hero?

Kod jest jedynie przykładem, nie podaje całego kodu aby nie zaciemniać wszystkiego. Program będzie bezbłędnie wiedział z przedstawicielem jakiej klasy ma do czynienia a obrazuje to tutaj część "<jakis warunek>". Bankowo nie zdarzy się sytuacja że przez warunek przejdzie coś co wcześniej było Obiekt* a nie Hero*, tylko nie wiem jak powiedzieć kompilatorowi o tym żeby działał na tym jak na Hero*...
P-34814
Elaine
» 2011-06-27 20:53:32
C/C++
static_cast < Hero *>( ob )->b = 'x';
P-34815
akwes
Temat założony przez niniejszego użytkownika
» 2011-06-27 20:56:00
Dziękuję, działa :)
P-34816
« 1 »
  Strona 1 z 1