オブジェクト指向スレ
■ このスレッドは過去ログ倉庫に格納されています
0643642
NGNGテンプレートでスーパークラスを抽象化してみると……。
template<class T> class MyForm : public TForm, public T
[C++ エラー] Unit1.cpp(18): E2278 VCL クラスでは複数の基本クラスはサポートされない
C++BuilderでもVCLだけは多重継承できないように制限されているのか…。
ObjectPascalは多重継承ができないから、
Javaのようにインターフェイスと実装を分けなければならなかったのに、
VCLは実装継承でライブラリのツリーを作ってしまった。
ここに問題があるのでは?
たぶんDelphiが元からC++だったら問題はなかったと思うよ。
だとするとやはりDecoratorパターンを使って誤魔化すしかないか。
多重継承できないんだからしょうがないよ。
■ このスレッドは過去ログ倉庫に格納されています