Можно ли получить следующее поведение из Союза?Взаимодействие со стороны
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;
};
В принципе, я хотел бы иметь класс, содержащий Союз производных классов. Затем я хотел бы реализовать весь базовый класс виртуальных функций с точки зрения моего Союза.
Я могу попытаться перефразировать это, если это слишком запутанно.
Благодаря
У меня был бы удар, перефразируя его. –
Вот для чего нужны указатели :) 'Base * mData' с соответствующими назначениями должен делать трюк. – dasblinkenlight