Why both "virtual" and "override" in "struct C"? It is redundant (you cannot override a non-virtual function). See http://en.cppreference.com/w/cpp/language/override.
Regards, Cheng On Wed, Jul 13, 2016 at 1:27 AM, Simon Richter <simon.rich...@hogyros.de> wrote: > Hi Wayne, > > On 12.07.2016 16:07, Wayne Stambaugh wrote: > > > I was looking over this patch set and before I apply it I want to be > > sure that all base class functions declared as virtual are explicitly > > declared as override in the derived classes. It's a very large patch > > set and I don't have time to confirm that this is the intent of these > > patches. > > The patches will need to be rebased anyway, there have been several > changes. > > The first patch enables a warning for all functions that override > virtual functions in base classes but have no "override" -- that is how > I identified the implicitly virtual functions. > > Whether we also add a "virtual" in addition to the "override" is a > question of code legibility, personally I find it more obvious to be > explicit here. It might also be an idea to place these in a separate > block inside the class definition, e.g.: > > struct A { > virtual void a() = 0; > }; > > struct B : A { > virtual void b() = 0; > }; > > struct C : B { > // A > virtual void a() override; > > // B > virtual void b() override; > }; > > This is what I do in my projects, and I've found it to be a tremendous > help, as it tells me that this function is likely to be called by code > that doesn't know the concrete type, but only the base class mentioned > in the comment above. > > Simon > > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > >
_______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp