если у меня что-то вроде этого:
class A: public Mother{
public:
A(B b){ b_pointer = &b; };
void update() override { int value = b_pointer->getSomething(); };
private:
B* b_pointer;
};
class B{
public:
void update(//parameters);
int getSomething();
};
, то в другой части программы, скажем, в классе C, создаются объекты B и A.
B b_object;
b_object(//attributes of C needed as parameters);
A a_object(b_object);
Итак, b_pointer
будет относиться к b_object
? если внутри метода ИИ использовать b_pointer->getSomething()
; он всегда будет ссылаться на b_object?
, потому что мне нужно обновить a_object
, чтобы он знал о b_object
, но я не могу написать метод void A::update()
, такой как update(B& b) {b.doThings()}
, так как A::update
переопределяет Mother
метод и в классе C у меня есть вектор Mothers*
для обновления.