inheritance - Override a non-virtual method in C++ -
i have class a , class b inherits a. a has foo method override in b.
class { public: void foo(); ... } class b: public { public: void foo(); ... } the solution of course define a::foo() virtual method, declaring virtual void foo();. problem can't that, since a class defined in third-party library rather not change code.
after searching, found override keyword (so declaration b::foo void foo() override;), didn't me since that's not override for, override can apparently used on virtual methods sure method overriding method , programmer didn't make mistake, , generates error if method isn't virtual.
my question how can achieve same effect making a::foo virtual without changing of code a, code b?
Comments
Post a Comment