C++ c++;将类成员推送到向量的正确方法

C++ c++;将类成员推送到向量的正确方法,c++,class,oop,vector,C++,Class,Oop,Vector,我有一个简单的类,它是来自其他库的两个对象的串联: class MyClass { public: Thing1 thing1; Thing2 thing2; }; 我想要的是能够确保当我仔细阅读一系列内容,并且我想知道相关内容中的一些内容时,我能够得到正确的答案。所以我给我的类做了一个向量: std::vector<MyClass> myClasses; 这是可行的,但对我来说,它似乎不雅观,也不是C++语言 我曾考虑过从Thing1和Thing2继承,但后来

我有一个简单的类,它是来自其他库的两个对象的串联:

class MyClass {
public:
   Thing1 thing1;
   Thing2 thing2;  
};
我想要的是能够确保当我仔细阅读一系列内容,并且我想知道相关内容中的一些内容时,我能够得到正确的答案。所以我给我的类做了一个向量:

std::vector<MyClass> myClasses; 
这是可行的,但对我来说,它似乎不雅观,也不是C++语言

我曾考虑过从Thing1和Thing2继承,但后来我必须将实例传递给其他方法。我不知道如何设置允许此操作的类

我有点C++新手,所以我可能会把这个问题都考虑错。如果有人对这类东西有更好的代码,我很想看看


我认为这正是人们使用Python的原因。

听起来你想在一个东西1和一个东西2之间建立一种关系。把他们放在同一个班级并不一定是正确的做法

怎么样

std::map<Thing1, Thing2> thingrel;
// create map
thingrel[t1_1] = t2_1;
.....
// lookup later
Thing2 t2_x= thingrel[t1_x];
std::map thingrel;
//创建地图
thingrel[t1_1]=t2_1;
.....
//稍后查找
Thing2 t2_x=thingrel[t1_x];
很难说这是否正确——因为您的代码太抽象了


你需要确保东西1是“地图好”。请参见

不清楚如何填充
内容2
。另一个向量的大小是否与
thing2Vec
相同?谁在乎这个?重点是我不能只得到一个向量“我认为这正是人们使用Python的原因”。请使用Python。对不起,这可能非常重要,因为你要求的是一个简洁的答案。如果这两个向量是平行的,有一个很好的解决方案。如果关系不同,则其他解决方案更合适。如果你被要求对那些有很多C++经验的人澄清你的问题的一部分,那么说“谁在乎”是有点粗鲁的。我道歉——我并不是故意粗鲁,而是直接。我想你是对的,我对这个问题的想法是错误的。但我仍然想知道,是否有比我在问题中描述的更惯用的方法将类的成员推入该类向量中的对象中。对此,我深表歉意。不过,我想你的建议正是我想要的!谢谢
std::map<Thing1, Thing2> thingrel;
// create map
thingrel[t1_1] = t2_1;
.....
// lookup later
Thing2 t2_x= thingrel[t1_x];