Изучаю С++ Вопрос: Имеется три класса: Класс А (Кнопка), Класс Б (Светодиод), Класс С (устройство) Устройство включает в себя 2 кнопки и 8 светодиодов. Могу ли я сделать следующее: 1. Создать экземпляр Класса С 2. Из класса С создать два экземпляра Кнопки (Класс А) и 8 экземпляров класса светодиодов (Класс Б Светодиод)? Или мне нужно создать Классы А и Б и С, а из Класса С каким-то образом вызывать методы Классов А и Б?
Комментарии: 8
Shtolcman
Если ты хочешь, чтобы класс С хранил в себе две кнопки и 8 диодов, так и создай в классе С поля классов А и Б. А в конструкторе класса С вызови конструкторы для А и Б. Таким образом создашь объекты своих A и Б, которые войдут в состав С
Igor
Спасибо Буду в этом направлении изучать А можно ли будет получить доступ к методам Светодиода (Класс Б) из вне эземпляра Класса С в которомони созданы?
Anonim
в паблик его выносишь и можно там еще наследованием можно заморочиться
Shtolcman
Только инкапсуляция по пизде пойдет
Anonim
Ну да потому и наследование
Shtolcman
Лучше через методы вызывать, а сами А и Б паблик не делать Тоже нет Наследование - это является А ему надо агрегирование То есть содержит У него ж устройство не является ни диодом, ни кнопкой Но содержит и диод и кнопку
Anonim
Тут смотря что требуется от класса устройство. Возможно, прямое управление ему тоже потребуется.