ユニオンから次の動作を取得することは可能ですか?
class A : public Base //Base is an abstract base class.
{
public:
A( int );
virtual void foo() //A virtual function from Base.
{
//I don't want to have to specify if it's oneOption or twoOption.
// I would like it to just call whichever one's is defined in mData.
mData.foo();
}
private:
union B
{
C oneOption; //A class which inherits from Base.
D twoOption; //Another class which inherits from Base.
} mData;
};
基本的に、派生クラスのユニオンを含むクラスが必要です。次に、Union に関してすべての仮想関数の基本クラスを実装したいと思います。
あまりにも紛らわしい場合は、これを言い換えてみることができます。
ありがとう