要求特定基类的子类程序员做事(没有编译时强制)是否被认为是 C++ 中的好习惯?例如...
这个类的正确子类应该做这些事情:
在每次调用重写的虚函数 bar() 结束时正确填充受保护的变量 m_foo - 请参阅上面的注释(此 SO 问题中未显示一些 c++ 注释)
如果满足这些条件: [某些条件] 然后在每次调用被覆盖的虚函数 bar() 时,调用在此基类中实现的非虚函数 baz()。这是为了执行一些所有子类都应该通用的逻辑。
像这样的子类指令是否被认为是可以接受的,或者我没有在编译时强制执行这一事实是否表明我的代码设计存在缺陷?