Ром41к Р Ром41к Регистрация 15 Дек 2013 Сообщения 99 Репутация 0 Спасибо 0 Монет 0 22 Авг 2016 #1 class SubClass: public Base { public: SubClass* makeACopy(){} }; void fn(Base& bc) {Base pCopy=bc.makeACopy(); } При вызове функции makeACopy будет вызываться Base::makeACopy() или SubClass::makeACopy() ?
class SubClass: public Base { public: SubClass* makeACopy(){} }; void fn(Base& bc) {Base pCopy=bc.makeACopy(); } При вызове функции makeACopy будет вызываться Base::makeACopy() или SubClass::makeACopy() ?
^DooM D ^DooM Регистрация 4 Апр 2013 Сообщения 84 Репутация 0 Спасибо 0 Монет 0 22 Авг 2016 #2 а ты возьми и запусти. Позитивный голос 0
йййй Й йййй Регистрация 17 Окт 2013 Сообщения 83 Репутация 0 Спасибо 0 Монет 0 22 Авг 2016 #3 Base pCopy = *bc.makeACopy(); или Base *pCopy = bc.makeACopy(); если объявил в Base классе виртуальную функцию - то SubClass::makeACopy(); Позитивный голос 0
Base pCopy = *bc.makeACopy(); или Base *pCopy = bc.makeACopy(); если объявил в Base классе виртуальную функцию - то SubClass::makeACopy();