Would unused private virtual methods allow future expansion without breaking ABI compatibility?
问题 I'm developing a shared library. Let's say I have the following class definition: class MyClass { public: //public interface private: virtual void foo1(int); virtual void foo2(int, bool); virtual void foo3(double); virtual void reserved1(); virtual void reserved2(); virtual void reserved3(); class Impl; Impl* impl_; }; The reserved# virtual methods are not overridden in the client code and not called from anywhere. They serve as placeholders for future expansion. Let's say I replace one of