[C++] Différences de déclarations dans des classes Qt

Différences de déclarations dans des classes Qt [C++] - C++ - Programmation

Marsh Posté le 15-07-2009 à 01:02:36    

Bonjour.
Je suis débutant en C++ et j'apprend à me servir de la bibliothèque graphique Qt.
Pour créer des Widgets Qt, il faut créer des nouvelles classes dans lesquelles on peut définir des "sous-Widgets".
Mais voilà, il y a différentes syntaxes et j'ai un peu du mal :
 
Par exemple avec une "MessageBox" :
 
1) message=new QMessageBox(this) puis message->exec()
2) QMessageBox *message=new QMessageBox(this) puis message->exec()
3) QMessageBox message(this) puis message.exec()
 
Les 2 premières déclarations se basent sur les pointeurs et la 3ème sur une variable mais j'ai plusieurs questions :
1) Quelle est la différence entre 1) et 2) ?
2) Y-a-il une méthode à utiliser de préférence ?
 
Merci beaucoup.

Reply

Marsh Posté le 15-07-2009 à 01:02:36   

Reply

Marsh Posté le 15-07-2009 à 13:54:24    

up

Reply

Marsh Posté le 15-07-2009 à 14:36:11    

le 2) est standard.
 
le 1) te permet d'accéder à ta variable message dans toutes les fonctions membre de ta classe.


Message édité par Glock 17Pro le 15-07-2009 à 14:36:59
Reply

Marsh Posté le 15-07-2009 à 14:50:44    

je vois la difference entre 1 et 2 hein .... surtout je vosi ce que la 2: a de "standard" ???

Reply

Marsh Posté le 15-07-2009 à 14:56:49    

pour le 1, QMessageBox *message; doit être défini qq part avant, soit dans l'entête de ta classe, soit plus tôt dans ta méthode
pour le 2, si c'est juste plus tôt dans la méthode, y a pas de différence, mais c'est plus propre de tout faire sur une ligne, ça évite d'avoir des variables non initialisées qui se baladent, sinon c'est ce qu'à dit Glock
pour le 3, l'objet est instancié sur la pile, il sera détruit dès qu'on sortira de sa portée
si tu n'a pas besoin de la notation 1 ou 2, la 3 est très bien :D
 
vas lire un bon bouquin de C++, parce que c'est la base là qd même :D


---------------
"The pen is mightier than the sword if the sword is very short, and the pen is very sharp." TP. Mes Jeux. Mes Ventes. Groupe HFR sur PlayFire.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed