Bonjour,
J'ai été formé en java et je débuter en c++ avec le support du livre que j'ai vu sur ce site "QT et c++". Personnellement quand je lis du code c++ j'arrive à le comprendre après avoir lu quelque tutoriaux. Je développe un programme en QT et kdepim mais les api utilisée n'ont pas vraiment d'importance ici car il semble que ce soit plutôt un problème de syntaxe.
Voila mon problème.
J'ai fais une classe dérivée de KABC::Adresses (classe qui perment de stocker des Adresse dans le carnet d'adresse de kde pim)
et j'y ai mis deux constructeurs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 class TypeAdresses : public KABC::Address
L'un par défaut avec le paramètre un pointeur vers la super clasase.
et l'autre ou je voudrais que le paramètre de type QString passé par référence soit obligatoire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public: explicit TypeAdresses(KABC::Address *parent = 0);
Malheureusement, cela semble ne pas fonctionner comme je l'attendais. le compilateur c++ me fait comprendre que cette référence doit être initialisée elle aussi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TypeAdresses (KABC::Address *parent = 0, QString &typeAdresse );
je mets alors :
Du coup, quand je met cette ligne à un endroit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TypeAdresses (KABC::Address *parent = 0, QString &typeAdresse = 0 );
Le compilateur confond les deux constructeur ce qui est normal puisque tous les paramètre ont des valeur par défaut Je n'arrive cependant pas a rendre obligatoire le paramètre QString passé par référence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TypeAdresses adresse;;
Comment faire pour résoudre mon problème ?
J'ai cherché une solution sur google et dans mon livre mais je n'ai rien trouvé mis à part qu'il sembleras que toute référence doit être initialisée en c++
Confirmez-vous cela ?
Ma classe à la propriété suivante.
Je vous remercie d'avance pour votre aide. Si vous pouviez me répondre assez rapidement ça serait sympa.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3private: QString typeAdresse;
Salutations
Partager