我想写一个类,其中一些对象共享一个共同的属性。C++对象共享属性 - 使用指针或引用
最后我创建了一个如下所示的东西: 我创建了一个类A,它带有一个对象B和一个对象C的向量,其中每个对象b都保存对c的引用。
Class A{
vector<B> v_b;
C c;
}
Class B{
C& c;
}
在载体“V_B”的对象应该能够改变“C”(一个值加到保存在c的向量)如果一个对象增加了一个值,它也应该被添加到所有其他OBJETS在矢量“v_b”中。这是主要的想法,为什么我想“分享”这个对象。
最后,它并不像我想要的那样工作,我需要重新考虑这个问题。
我现在的问题是,保存C作为参考还是使用指针更好?最后,我真的只需要向量“v_b”,我对A类不感兴趣,我只用A创建了一个带有“v_b”向量的A对象,并且比我使用了a getter获取所有“v_b”并将它们保存在一个通用向量中。
例子:
vector<b> v;
{
A a1;
a1.add_b_to_vector(B b1); // b1 and b2 should share a common c
a1.add_b_to_vector(B b2);
A a2;
a2.add_b_to_vector(B b3); // b3 and b4 should share a common c
a2.add_b_to_vector(B b4);
v.push_back(a1.get_vector_of_bs()); //lets assume push_back would work
v.push_back(a2.get_vector_of_bs());
}
// do something with v
感谢您的帮助
感谢您的建议和有用的链接,我会尝试一下! – user7431005