Как должен выглядеть конструктор для класса с другим классом в качестве поля в C++? Имеется класс (пусть A), одним из полей которого является объект другого класса (пусть B). Каким образом должен выглядеть конструктор класса A, чтобы в нем учитывался класс B?

21 Авг 2019 в 07:08
162 +1
0
Ответы
1

Для класса A, который имеет поле объекта класса B, конструктор должен передавать необходимые параметры для создания объекта класса B.

Пример:

#include <iostream>
class B {
public:
B(int value) : m_value(value) {}
int getValue() { return m_value; }
private:
int m_value;
};
class A {
public:
A(int valueA, int valueB) : m_b(valueB) {
m_valueA = valueA;
}
int getValueA() { return m_valueA; }
int getValueB() { return m_b.getValue(); }
private:
int m_valueA;
B m_b;
};
int main() {
A objectA(10, 20);
std::cout << "Value A: " << objectA.getValueA() << std::endl;
std::cout << "Value B: " << objectA.getValueB() << std::endl;
return 0;
}

В данном примере класс A содержит объект класса B в качестве поля. В конструкторе класса A, после инициализации m_valueA, происходит инициализация объекта m_b класса B с помощью переданного значения valueB.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 387 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир