No encontré un mejor título para la pregunta. Permítanme explicarlo mejor ahora:¿Cómo anular los métodos anidados de objetos C++?
El proyecto en el que estoy trabajando se va a conectar a un servidor remoto, cifrar la sesión y enviar/recibir paquetes de datos. Me gustaría que sea lo suficientemente modular, así que pensé que sería bueno usar 3 clases distintas. Estos serían:
1) Una clase contenedora de socket con algunos métodos virtuales como OnReceivedData() y OnConnected().
2) Una clase heredada del contenedor de socket, implementando el cifrado de los datos antes de su envío y descifrando los datos a su llegada.
3) El objeto principal en sí mismo, que debe anular cualquiera de las clases anteriores dependiendo de su necesidad de ser encriptado o no, por lo que podría recibir la notificación de eventos OnReceivedData() y OnConnected() y actuar en función de eso.
Así que el problema es ¿CÓMO hago que mi programa sepa que primero tiene que llamar al evento en el objeto de cifrado y luego llamar al mismo evento en el objeto principal? Porque supongo que si anulo el engarce socket con el cifrado y luego anulo el cifrado con el objeto principal, probablemente solo llame al método del objeto principal (llamaría a OnReceivedData() directamente en el objeto principal, no pasaría por el descifrado objeto primero, ¿verdad?).
¿Esto se llama herencia múltiple?
Por cierto, si usted piensa que es un mal diseño del proyecto, agradecería cualquier mejor enfoque. Gracias por tomarse su tiempo para leer esto.
Mi sugerencia, intente utilizar patrones de diseño, como un patrón 'Builder' o' Factory'. –