Проблема в том, что вы пытались инициализировать ссылку objA
так же, как при создании объекта.
ObjectB(char* engName, int _velocityA):objA(engName, _velocityA)
{
}
Помните, objA
- это ссылка, а не указатель или переменная, поэтому objA(engName, _velocityA)
вызовет конструктор ObjectA
.
Конструктор ObjectB
должен принять объект ObjectA
в качестве параметра, чтобы ссылка objA
могла ссылаться.
class ObjectB
{
private:
ObjectA& objA;
public:
ObjectB(ObjectA & a):objA(a)
{
}
};
int main()
{
ObjectA a("hello", 10);
ObjectB *b = new ObjectB(a) ;
}