我正在尝试开发一组控件,它们在大小方面都有许多共同的行为。我认为这是一个需要多重继承的例子(尽管我完全愿意接受任何相反的建议)。我想做的基本上是一个mixin模式
class Sizable {
...
public:
ResizeMe();
ResetText();
...
};
class sizeButton : public Sizable, public TButton {
...
};
class sizeEdit : public Sizable, public TEdit {
...
};
等等……
我已经在 Sizable 类中编写了大量的大小调整代码并对其进行了测试,这很好,但现在我已经列出了结构的其余部分(是的,我可能应该首先为这些类编写一个骨架)并且有遗憾地发现:
[BCC32 Error] szButton.h(15): E2278 Multiple base classes not supported for VCL classes
我已经删除了所有不需要成为成员函数的函数(例如测量字符串的长度),但是仍然有很多函数是不可能的。
有没有人有任何设计建议,这样我就不必复制大量代码?