Я не привык к c ++, и у меня проблема с написанием конструктора.
Посмотрите этот пример, это короткая версия кода, над которым я работаю:
class B {
public:
B(int x);
}
class A {
public:
B b;
A(){
// here I have to initialize b
}
}
Это приводит к ошибке компилятора, поскольку мне нужно инициализировать b в конструкторе A, поскольку B не имеет конструктора по умолчанию.
Я думаю, что я сделал это в списке инициализации, но аргумент B (int x) - это значение, которое я должен вычислить с помощью некоторого алгоритма, поэтому я не знаю, как это должно быть сделано правильно, или если я ' Я что-то упускаю или делаю неправильно.
В другом языке, таком как java, у меня была бы ссылка на B и она инициализировалась внутри конструктора A после другого кода, который мне нужен, чтобы получить значение для инициализации.
Каким будет правильный способ инициализации b в этом случае?
Спасибо!