Constructeur par défaut - C++ - Programmation
Marsh Posté le 25-05-2019 à 12:20:45
Depuis C++ 11 tu peux utiliser le mot-clef : delete au constructeur par défaut que tu veux absolument pas implémenté voir : https://en.cppreference.com/w/cpp/l [...] onstructor
Avantt C++ 11 une astuce pour empêcher l'utilisation d'un constructeur par défaut était de le mettre en privé.
Le delete ayant l'avantage de donner une erreure de compil plus claire : "error: use of deleted function ‘A::A()’"
Marsh Posté le 25-05-2019 à 23:58:18
chef_keeper a écrit : Depuis C++ 11 tu peux utiliser le mot-clef : delete au constructeur par défaut que tu veux absolument pas implémenté voir : https://en.cppreference.com/w/cpp/l [...] onstructor |
Un grand merci chef_keeper.
La clarté des messages d'erreur est un point étrange du c++
Marsh Posté le 22-05-2019 à 08:31:06
Bonjour
Je m'attaque au C++ dans le contexte suivant :
J'ai déjà fait pas mal de C il y a longtemps, plein de Java, un peu de Python.
J'en suis pour l'instant aux tutoriels de base et pour la partie objet.
J'ai pris Visual Studio comme environnement de dev parce qu'il est relativement bien intégré pour développer dans le moteur Unreal.
La question :
Le constructeur par défaut, sans paramètre est obligatoire.
On peut bien sur le surcharger avec un constructeur avec paramètre.
Mais du coup, ce constructeur sans paramètre est accessible et utilisable même pour un l'objet qui a absolument besoin de parametre d'entrée.
Les bonnes manières pour gérer ça, c'est quoi ?
Remonter une exception si on appelle le constructeur sans paramètre ?
Mettre le constructeur sans paramètre en private ?
Autre ?