A noter qu'il est préférable de ne pas mettre les parenthèses.
Le sens n'est pas le même avec et sans !!!
Lorsque l'on fait un new, pas de différence, mais sans le new, l'un veut dire "je construit l'objet" et l'autre "je declare une fonction qui retourne mon objet"
Voici un petit exemple récapitulatif:
Code C/C++ :
#include <iostream>
class Toto
{
public:
Toto()
{
std::cout << "Construction de Toto" << std::endl;
}
};
int main()
{
std::cout << "Init normal" << std::endl;
Toto t;
std::cout << "Constructeur initalise" << std::endl;
std::cout << std::endl;
std::cout << "Init invalide" << std::endl;
Toto x();
std::cout << "Et oui rien ne s'affiche..." << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << "Init normal" << std::endl;
Toto* pt = new Toto;
std::cout << "Constructeur initalise" << std::endl;
delete pt;
std::cout << std::endl;
std::cout << "Init normal aussi" << std::endl;
Toto* px = new Toto();
std::cout << "Constructeur initalise" << std::endl;
delete px;
return 0;
}
_____________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio