Bonjour à tou-te-s,

j'ai une petite question assez générique de conception, mais je cherche une solution en c++.

Soit une classe mere M, et plusieurs classes fille F1, F2, etc... qui héritent de M.
La classe M a une fonction virtuelle (pure ou pas, cela n'a - je crois - pas d'importance ici) qui va être surchargée/implémentée par les classes filles.
Le problème est que chaque classe fille nécessite des paramètres de nature différentes pour effectuer cette fonction.
L'idée étant que cette fonction va effectuer la même action (contrat) dans chaque classe fille; mais selon la nature de chaque classe, pour effectuer cette action, on aura besoin de paramètres différents.

Un exemple concret:
Prenons une classe IMessage (I pour interface), qui déclare une fonction Send( const std::string& text ).
Prenons deux classe, Mail et Sms, qui héritent de IMessage.
Pour la classe Mail, il va lui falloir une adresse mail, l'adresse d'un serveur STMP avec des données de connections etc. pour pouvoir effectuer la fonctionalité Send(); alors que pour la classe Sms, elle va avoir besoin juste d'un numéro de téléphone.

Quelle est la solution la plus générique pour résoudre ce problème?