C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了C:避免继承层次结构中的双重维护大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
创建C继承结构时,必须在多个位置定义完全相同的成员函数

如果B是一个抽象基类,并且D,E和F都从B继承,那么你可能有:

class B
{
   virtual func A( ... params ) = 0;
};

class D : public B
{
   func A( ... params );
};

/* ... etc... similar implementations for E and F */

所以,这里显然有一些重复.如果B的接口很大,如果接口需要更改,则可能有许多地方需要更改.

一位同事用嵌入式巧妙创造的#includes,ala提出了一些诡计:

class D: public B
{
   #include "B_Interface.h"  // B_Interface.h is a specially crafted .h file
}

这看起来有点笨拙?是吗?有没有更好的解决方案来避免双重维护?

此外,这里的解决方案可能是支持语言的更好工具,例如Visual Assist X?

编辑:假设派生类必须具有唯一的实现.

解决方法

实际上,更改界面的最大问题通常是使用它的所有代码,而不是实现它的代码.如果为实施者更改它很容易,那么可能会让用户的生活更加艰难.

大佬总结

以上是大佬教程为你收集整理的C:避免继承层次结构中的双重维护全部内容,希望文章能够帮你解决C:避免继承层次结构中的双重维护所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。