У меня также есть Derived1 класс, производный от базового класса, и
Код: Выделить всё
Derived2
Я переопределяю метод Begin() в первом производном классе и метод end() во втором производном классе.
Но я не могу получить доступ к методу end() или использовать его в своем первом производном классе. Почему?
Код: Выделить всё
#include
template
class Base {
public:
virtual T begin() = 0;
virtual T end() = 0;
};
template
class Derived1 : public Base {
public:
T begin() override {
return Base::end() - 10; // not working
// return end() - 10; // also not working
}
};
template
class Derived2 : public Derived1 {
public:
T end() override {
return 10;
}
};
int main() {
Derived2 derived2;
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/77591226/c-how-can-i-access-virtual-method-in-a-template-class-which-will-be-overriden[/url]