Différences de déclarations dans des classes Qt [C++] - C++ - Programmation
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.
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" ???
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
vas lire un bon bouquin de C++, parce que c'est la base là qd même
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.