Сначала должен быть конструктор по умолчанию для class A
, иначе B()
не скомпилируется.Он попытается вызвать конструктор по умолчанию для членов class B
до того, как тело конструктора начнет выполняться.
Вы можете инициализировать arrayofa
следующим образом:
void B::updatearray()
{
arrayofa[0] = A('A', 10);
arrayofa[1] = A('B', 20);
...
}
Это будетлучше использовать std::vector
вместо массива.
std::vector<A> v(26, A('a', 10)); //initialize all 26 objects with 'a' and 10