Cela peut être une courte question simple & ++, mais je ne l'ai jamais trouvé une réponse satisfaisante à elle:C principal() dans un grand projet POO
Quel code ne la fonction principale() consistent généralement en un grand projet C++? Serait-ce une supposition incorrecte de penser qu'il suffit généralement d'initialiser un objet de classe (wrapping) et d'appeler une fonction à l'intérieur de celui-ci pour déclencher les choses?
Pourquoi main() n'est-elle pas une méthode en premier lieu? Est-ce pour préserver la rétrocompatibilité avec C?
La raison pour laquelle ce n'est pas une fonction membre est que vous auriez besoin d'un moyen de spécifier de quelle classe il s'agit. C++ n'a rien à voir avec le manifeste de Java et aucune réflexion. –
d'un niveau plus conceptuel, chaque programme a besoin d'un point d'entrée, dans le cas de C++ "classique" c'est dans l'exécutable que le compilateur produit, quand le programme démarre il n'y a pas de classe. Dans les langages interprétés, le runtime s'exécute d'abord et configure un contexte pour que l'application s'exécute avant que le point d'entrée soit une méthode/membre d'une classe précédemment configurée si le langage/runtime le permet/le désire. – Mark
@Mark: quoi? Le compilateur est responsable de l'émission de code pour initialiser diverses choses, y compris les membres statiques des classes, avant l'exécution de main(). Dans la mesure où l'on peut dire que les classes existent à l'exécution en C++, il existe de nombreuses classes avant l'appel du point d'entrée. Il pourrait même y avoir beaucoup d'objets dans l'existence aussi. –