定期的にブリッジ設計パターンを使用します。しかし、継承されたオブジェクトで効果的に使用する方法については混乱しています。 struct apple :: impl:publicを使用すると、ダブルオブジェクトの果実が得られます。実装で抽象基本クラスデータメンバを使用したい抽象基底クラスにメンバーデータがある継承のあるブリッジ設計パターン
class fruit
{
public:
virtual void print() = 0;
private:
int count_;
};
class apple: public fruit
{
public:
virtual void print();
private:
int apple_count_;
struct impl;
std::unique_ptr<impl> impl_;
};
struct apple::impl
{
virtual void print() { cout << "apple"; }
};
void apple::print(){ impl_->print(); }
「public」、「private」、および「protected」の3つのアクセス修飾子があります。おそらく3番目を見てみましょう。 – jaggedSpire