Convention de nommage pour une classe abstraite?
Je sais que la convention de nommage pour une interface est quelque chose comme IName
. Mais si je suis entrain de créer une classe abstraite?
Je devrais aussi écrire un I devant le nom de la classe?
- Il semble un peu confuse pour moi. Qu'entendez-vous par l'abstrait et de l'interface? En C++, une classe est abstraite si elle a au moins une fonction virtuelle pure. Une interface de classe est généralement de tel - généralement, mais pas nécessairement abstraite de la classe, c'est surtout pour cacher les détails de mise en œuvre dans les classes dérivées et d'être utilisé dans les interfaces publiques.
- Le
I
préfixe est un Microsoftism (pour la COM et .NET), pas en C++ une convention de nommage en soi. - En java et c#, vous pouvez voir directement si la classe est abstraite ou si c'est une interface. Je l'ai déjà vu plusieurs fois, je le préfixe j'ai donc adapté. Je veux juste faire comprendre à d'autres développeurs que cette classe est abstraite ou et de l'interface. J'ai probablement utiliser je le préfixe pour les classes abstraites trop.
Vous devez vous connecter pour publier un commentaire.
Par opposition aux Oracles Java conventions de codage, il n'est pas "La" convention de nommage pour le C++.
Si vous travaillez sur un projet pour une entreprise, vous devez suivre leurs conventions de nommage. Si il n'y a pas documenté les conventions - regardez autour de la base de code et essayer de suivre l'essaim, la cohérence est la clé.
Si vous commencez quelque chose sur votre propre, beaucoup trouvent google c++ conventions de codage comme un bon début.
Si vous essayez d'adhérer à une convention de nommage spécifique, veuillez donner un nom. Comme l'autre réponse explique, il n'y a pas de mondial "C++ Règle" concernant les conventions de nommage.
Si vous utilisez la notation hongroise, je crois que la convention est en effet le préfixe " I "comme vous l'avez fait pour les "IName'.
Remarque: bien qu'il n'existe pas de "interface" en tant que tel en C++, vous pouvez définir des classes avec seulement des méthodes virtuelles pures et aucun membre variables.
Il n'y a pas une telle chose comme une convention de nommage global. Au moment où vous savez ce que la convention de nommage, vous pouvez chercher la réponse en elle.