我知道这已经被问了很多,我用谷歌搜索但无法将所有内容放在一起。也许是因为不可能做,我想要什么?
我有
struct Universe
{
}
和
struct Atom: Universe
{
}
struct Molecule: Universe
{
}
Universe U;
Atom A;
Molecule M;
_atoms = vector<Universe*>(3);
_atoms.push_back(&U);
_atoms.push_back(dynamic_cast<Universe*>(&A));
_atoms.push_back(dynamic_cast<Universe*>(&M));
auto THIS_IS_ATOM = _atoms[1];
这段代码很可能在很多方面都是错误的。但我的想法是像这样存储不同的派生结构,然后从数组或列表中访问它们,而不会有任何数据丢失或类截断。我想从数组中获取一些元素,比如 _atoms[1],并且能够知道这个结构是什么类型(Universe 或 Atom)等等
我应该如何在 C++ 中正确地做到这一点?