C++のネストされた継承に関する質問があります。私は3つのクラス:Base,MiddleおよびTopを持っています。通常Middleから派生するとき、私は公共の継承を使用しますが、私は、しかし、それは公共の使用のためのBaseメソッドを公開する必要があります... はここに私の解決策Middleから私的に継承してきた一つのクラス(Top)ですが、それは大丈夫でしょうか? class Base
{
私は典型的なダイヤモンドの問題のように仮想継承を使用しています: A
(virtual)/ \ (virtual)
B C
\ /
D
私はすべてのクラスで「deep_copy_from」という名前のメソッドを実装しています(しかし、それは同様=()代入演算子することができます)。メソッドは、クラス自身の属性をコピーし、そのコピーを上記のクラスに伝
可能性の重複に: gcc c++ virtual inheritance problem こんにちはすべて、 私はスコットマイヤーズの本で効果的なC++を読んでいます。仮想基底クラスと仮想継承について以下のように述べられています。 仮想基本クラスの初期化を管理するルールは、非仮想ベースのものより複雑で直感的ではありません。仮想ベースを初期化する責任は、階層内の最も派生したクラスによって負われる。新
私はテストフレームワークを開発中です。多くのテストスイートがあり、それぞれは個々のテストごとにメンバー関数のセットを持つクラスです。 私は、クラス内のすべてのテストを動的に反復する方法を見つけたいと思います。 理想的な設定は次のようになります。 class A : public Test
{
public:
A() {
addTest(a);
addTest(