Wpis z mikrobloga

@M4lutki

mam wskaznik do obiektu rodzica, wykorzystuje go tez do pokazywania na obiekty dziedziczace. chcialem za jego pomoca wywolac element znajdujacy sie w obiekcie dziedziczacym i jednoczesnie nie znajdujacy sie w obiekcie rodzica i mi wywala blad, ze elementu tego nie ma w klasie rodzica. a przeciez niby moge uzywac wskaznikow rodzica do dzieci. bylem przekonany, ze moge cos takiego zrobic. cos #!$%@? czy faktycznie nie moge?
@kapelusznikk: Przepraszam, ale @MasterSoundBlaster zbyt nadinterpretuje moje zdolnosci programistyczne :P

Jak rozumiem chcesz dostać się poprzez wskaźnik do klasy bazowej do elementu znajdującego się tylko i wyłącznie w klasie dziedziczącej po klasie bazowej? Dobrze zrozumiałem? :)
@kapelusznikk: Ale słuchaj, ja ekspertem nie jestem. Możliwe, że da sie to zrobić w jakiś inny sposób :) Poczytaj ten wykład, może tam jest technika która to umożliwi, albo poczekaj aż ktoś bardziej doświadczony odpisze.
@tommer91: Dynamic wymaga klas polimorficznych i jest mniej wydajny właśnie przez to sprawdzenie. Jeśli masz pewność, ƶe to instancja klasy, na którą rzutujesz to static jest lepszym rozwiązaniem.
@kapelusznikk: Zgodnie z OOP mógłbyś zrobić coś takiego:

class Base {

public:

    virtual Foo getElement() = 0;

}

class Derived1 : public Base {

private:

    Foo element;

public:

    Foo getElement() { return element; }

}

class Derived2 : public Base {

public:

    Foo getElement() { throw std::runtime_error("operation not supported"); }

}

Rozwiązanie @KrzaQ2 jest wydajniejsze, ale dość brzydkie. :)
@KrzaQ2: @tommer91:

zrobilem troche na okolo, bez rzutowania. no wlasnie prowadzacy mi tez mowil, ze powinienem zrobic rzutowanie, ale juz nie pamietam czy dynamic czy static powiedzial, bo bylem polprzytomny z powodu bardzo krotkiego snu.

@M4lutki:

zaliczylem! dzieki za pomoc nocny mirku.