У меня есть связанный список Foo
объектов. Foo - это базовый класс, который наследует от него несколько классов. Скажем, классы A, B, and C
.Вычисление класса наследуемого объекта
Я еду через этот связанный список и вызывая метод some_method
, который имеет 3 определения; один для каждого дочернего класса:
some_method(A a);
some_method(B b);
some_method(C c);
Связанный список является общим, поэтому он имеет тип Foo
, как это имеет ассортимент A, B и C объектов.
Когда я еду через связанный список по адресу current_element
, позвонив по телефону some_method(current_element);
, как я могу заставить его вызвать правильный метод? Компилятор жаловался, пока не написал некоторый метод, который принял общий Foo
, и он вызывает только этот метод.
Это почти звучит правильно, но Foo не имеют доступ к some_method, он передается в качестве параметра для метода. Он находится в классе, который имеет связанный список указателей Foo в качестве члена данных – bandai