Не может ли кто объяснить с технической точки зрения, почему
в наследуемом классе не разрешена перегрузка метода, который
определен в базовом классе?
Вот пример:
/*Base.h*/
class Base {
public:
~virtual Base(void);
void add(void);
protected:
Base(void);
};
/*Base.cpp*/
Base::Base(void) {};
~Base::Base(void) {};
void Base::add(void) {};
/*Extended.h*/
class Extended : public Base {
public:
Extended(void);
~Extended(void);
void add(int i);
};
/*Extended.cpp*/
Extended::Extended(void) : Base() {};
~Extended::Extended(void) {};
void Extended::add(int i) {
add(); // <--- вот здесь no matching function for call to `Extended::add()'
};
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Tsahes
Ответ на:
комментарий
от int19h
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Вызов шаблонного метода базового класса C++ (2013)
- Форум [C++] [Жаба] Это магия? (2008)
- Форум Перегрузка вирт функции в шаблоне (2014)
- Форум перегрузка виртуальных функций. (2015)
- Форум C++ Изучаю наследование классов. (2015)
- Форум Помогите с указателями на функции в Ц++ (2006)
- Форум C++: наследование с абстрактными классами и шаблонами (2021)
- Форум Проблема с наследованием в C++ (2003)
- Форум C++ наследование (2006)
- Форум [Qt] проблеммы при наследовании классов Qt и своих классов. (2010)