1.virtual方法是多态的基础。今天遇到的问题是子类中对基类的虚方法进行重写的同时,同时声明了const,我理解为何要加上const,或者说这个类本该由一个人来维护,但这不是要讨论的主题。不过造成的问题是明显的:以父类指针保存的子类对象,对该方法的调用就会直接调用父类方法。多么可怕,你本以为会多态的地方却根本没有多态。也许你要花上两三天才能发现问题出在了何处。保持virtual方法的声明完全一致多么重要。
2.方法的移动。出于一些稀奇古怪的目的和需求,常常可能想,我能否将某个类声明为另一个类中某个私有方法的友员,或者,我能否将某个类中的某个方法声明为另一个类的友员。哦,见鬼,你为什么不是移动这个方法,或者使用私有类呢。