2017-09-16 1 views
1

J'utilise actuellement une classe dont les membres veulent être identiques sur l'ensemble du programme. J'ai donc besoin de désactiver l'utilisation du constructeur de cette classe. Quelle est la meilleure façon de faire cela?(C++) Quoi de mieux quand on fait une classe statique: mettre le constructeur en privé ou le supprimer publiquement?


  1. Déclare le constructeur privé constructeur
  2. () = supprimer;
+5

Utilisez un espace de noms et non une classe. D'après la question, je comprends que vous n'utilisez que le nom de la classe pour le scoping, ce qui est mieux fait avec un espace de noms. –

+0

Oui, ce genre de question est généralement un signe que vous ne devriez pas utiliser une classe. Contrairement à d'autres langages, tout ce qui est en C++ ne doit pas être une classe, ce qui ne devrait pas être le cas. –

+0

Copie possible de [pourquoi supprimer explicitement le constructeur?] (Https://stackoverflow.com/questions/13654927/why-explicitly-delete-the-constructor) – datell

Répondre

4

Écrivez le code qui explique le mieux ce que vous faites. Si vous souhaitez que la classe soit constructible, créez le constructeur private. Si vous voulez que personne ne soit capable de construire la classe, alors delete le constructeur.