У меня есть класс A, содержащий два указателя на объекты другого класса B. Я хочу инициализировать один или другой указатель в зависимости от того, какой из них передан в init()
, который также принимает другие параметры. Моя ситуация, таким образом, следующая:
class A {
public:
A();
init(int parameter, int otherParameter, B* toBeInitialized);
protected:
B* myB;
B* myOtherB;
};
Теперь я хочу сказать init()
как:
init(640, 480, this->myB);
или
init(640, 480, this->myOtherB);
Теперь мой init реализован так:
void init( int parameter, int otherParameter, B* toBeInitialized ) {
toBeInitialized = someConstructorFunction(parameter, otherParameter);
}
Проблема в том, что два указателя не инициализированы, я подозреваю, что toBeInitialized перезаписано, но исходный параметр не изменен.
Я что-то не так делаю?
Должен ли я использовать ссылки на указатели?
Спасибо.
Томмазо