In C ++, it is permissible to reduce the cv qualifier of the return type in a derived class:
class Base { virtual const Base* f(); }; class Derived : public Base { Base* f() override; };
Is this true with pointers to primitive types?
class Base { virtual const int* f(); }; class Derived : public Base { int* f() override; };
c ++ covariance const
Brice M. Dempsey
source share