mam następujących klas:C++ wywołać metodę wirtualną w klasie dziecko
class A {
protected:
A *inner;
public:
....
virtual void doSomething() = 0;
....
}
class B: public A {
...
void doSomething() {
if(inner != NULL)
inner->doSomething();
}
...
}
Gdy używam inner->doSomething()
otrzymuję winy segmentacji. Co należy zrobić, aby zadzwonić pod numer inner->doSomething()
w klasie B?
z góry dzięki.
Jeśli podczas używania wewnętrznego pojawi się błąd segfault, prawdopodobnie nie wskazuje on poprawnego obiektu. Jak zainicjalizować wewnętrzną w B? –
Każdy A zawiera A *? Naprawdę? Czemu? –
Ok, oni patrzą na siebie. Chciałem tylko sprawdzić. –