Еще один вопрос по использованию стандартной библиотеки
при работе своего метода .isIn корректно вызывается виртуальная функция Compare класса CMyObject => isIn возвращает true для lMyObject1 и false для lMyObject5
при работе специального метода Search в обоих случаях true.
При отладке вижу, что вызов t_node.Compare работает мимо переопределенного метода класса CMyObject
Не подскажете любезно, почему?
А потому, что ты не переопределил, а перегрузил метод. Смотри внимательней сигнатуры. const T и T - это два разных типа)))
int Compare(const CObject *node,const int mode=1) const int Compare(const CObject *node,const int mode=1)Разницу в сигнатурах ощущаешь?)))
так если б все так было просто )
Вот если бы я тебе про спецификатор const не сказал, ты когда бы догодался?)))
Не буду дальше мучить)
int Compare(const CObject *node,const int mode=1) const{ const CMyObject* tmp=dynamic_cast<const CMyObject*>(node); return !tmp||this.meInt!=tmp.meInt?0:1; }
Не буду дальше мучить)
Спасибо! )))
Спасибо! )))
Не буду дальше мучить)
компилируется, но переопределенная функция все равно игнорируется.
Еще что-то я упускаю
компилируется, но переопределенная функция все равно игнорируется.
Еще что-то я упускаю
Если ты ничего в своем коде не менял, то как раз CObject::Compare(...) не вызывается.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Еще один вопрос по использованию стандартной библиотеки
при работе своего метода .isIn корректно вызывается виртуальная функция Compare класса CMyObject => isIn возвращает true для lMyObject1 и false для lMyObject5
при работе специального метода Search в обоих случаях true.
При отладке вижу, что вызов t_node.Compare работает мимо переопределенного метода класса CMyObject
Не подскажете любезно, почему?