Я не нашел лучшего заголовка для вопроса. Позвольте мне объяснить это сейчас:Как переопределить методы объектов вложенных объектов C++?
Проект, над которым я работаю, собирается подключиться к удаленному серверу, зашифровать сеанс и отправить/получить пакеты данных. Я бы хотел сделать это достаточно модульным, поэтому я подумал, что было бы неплохо использовать 3 разных класса. Это были бы:
1) Класс обертки сокета с некоторыми виртуальными методами, такими как OnReceivedData() и OnConnected().
2) Унаследованный класс оболочки-сокета, реализующий шифрование данных до его отправки и дешифрования данных по его прибытии.
3) Основной объект, который должен переопределить любой из вышеуказанных классов в зависимости от необходимости его шифрования или нет, чтобы он мог получать уведомления о событиях OnReceivedData() и OnConnected(), а также действовать на основе Это.
Таким образом, проблема заключается в том, как я могу заставить свою программу знать, что она должна сначала вызвать событие на объект шифрования, а затем вызвать это же событие на главный объект? Поскольку я предполагаю, что если я переопределяю wapper сокета с помощью шифрования и затем переопределяю шифрование с помощью основного объекта, он, вероятно, просто вызовет метод основного объекта (он будет вызывать OnReceivedData() непосредственно на главном объекте, а не через дешифрование объект сначала, правильно?).
Это называется множественным наследованием?
BTW, если вы считаете, что это плохой проект, я был бы признателен за любые лучшие подходы. Спасибо, что нашли время, чтобы прочитать это.
Мое предложение, попробуйте использовать шаблоны проектирования, такие как шаблон 'Builder' или' Factory'. –