以下のコードでは、foo
はタイプAオブジェクトを値で返します。私は何とかこれをB型のオブジェクトに便利なやり取りなしに変換できますか? (注:クラスAは、すべてのデータ/ストレージmebersを含み、クラスBはちょうどより多くの方法を紹介します)事前にメソッドのC++継承と戻り値
class A{
/*data*/
A foo(...);
};
class B: public A
{
/*no-data*/
B doMagic(...);
};
/*usage*/
B bone;
B btwo = bone.foo(...) /*w\o cast*/
感謝を!
私は正直に努力していますが、あなたがこれをどのように表現したかに基づいて、あなたが望むものを理解できません。あなたはいくつかの情報を追加してそれに言い返すことができますか? –
'class B、public A'は' class B:public A'でなければなりません。また、値でオブジェクトを返す必要がありますか、返す(スマート)ポインタで生きることができますか? – bitmask
私はよくあなたの質問を理解していないが、あなたは多形性のある種の必要があるように聞こえる? –