Bonjour,

j'utilise foxtoolkit et je souhaite créer ma propre classe String dérivée de FXString, dans le but de pouvoir l'utiliser comme une FXString mais enrichie des méthodes que je pourrais ajouter.

Je m'y suis donc pris comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
class String : public FXString
{
public:
// Appel des constructeurs de FXString
	String() : FXString() {}
	String (const String &s) : FXString (s) {}
	String (const FXchar *s) : FXString (s) {}
etc...
 
// Copie d'une FXString dans String
	String (const FXString &s) { *this = s; }
	String (FXString &s) { *this = s; }
	String (FXString *s) { *this = *s; }
};
lorsque je souhaite passer un objet String en paramètre d'une fonction de la bibliotèque FOX ne recevant que des FXString le compilateur (gcc) me génère une erreur qui me dit que la fonction ne reçoit pas des String en paramètre mais des FXString.
J'ai pensé à ajouter la méthode suivante à ma classe String:
FXString& convertToFXString();
que j'apelle au moment opportun.
static_cast devrait aussi faire l'affaire ...

Mais avant ça, j'aimerais savoir s'existe-t-il un moyen élégant de pouvoir convertir un String en FXString lors d'un passage de paramètre ?
Un peu comme si FXString avait un constructeur de copie FXString(const String& s).
Je pensais trouver mon bonheur du coté de la surcharge des opérateurs mais rien ne semble répondre à mon besoin.

Merci pour vos conseils.

Xavier