I have an abstract class that is basically meant to serve as an "iterator interface". That is, it is an abstract iterator that a few concrete classes will later implement. To make the abstract class an iterator, I need to overload T operator++(int)
, where T
is the class for which the operator is overloaded.
class AbstractClass {
virtual AbstractClass operator++(int) = 0; // compile time error
virtual AbstractClass& operator++() = 0; // but this is fine
}
However, I cannot write AbstractClass operator++(int)
as only pointers and references to an abstract class are permitted as return values.
Is there a way to require the subclasses to overload operator++(int)
in plain C++11?
Aucun commentaire:
Enregistrer un commentaire