我想寫一個類,其中一些對象共享一個共同的屬性。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