StillAtGo написал(а):
2) а это как? в коде программы явно не прописано что метод вызывается?
Да. Не прописано. вместо явного указания cl_class->method() используется что-то типа call method cl_class->(method). Вот, собственно,
описаниеStillAtGo написал(а):
3) А вот это похоже на то... Но вот только получается что в программе создается переменная типа родителя, а код вызывается класса потомка? Хм... Я не специалист в ООП, какой в этом может быть смысл?
Ну если вы не специалист, то зачем забивать голову? Позовите программиста, и он все посмотрит.
Такое использование - одно из преимуществ одного из основных свойств ООП: наследования.
Объявляется переменная типа родителя. Создается экземпляр класса-потомка. Присваивается в переменную родителя. Вызывается метод, который есть в родителе и унаследован потомком. Действие метода потомка может быть совершенного отличным от действия того же самого метода родителя, но при этом имеет те же самые параметры.