Question de base C++

Résolu/Fermé
Ice Karl X Messages postés 42 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 15 décembre 2008 - 3 sept. 2008 à 21:37
Ice Karl X Messages postés 42 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 15 décembre 2008 - 4 sept. 2008 à 21:27
Bonjour,

J'aimerai vous poser deux questions, apres de multiple recherche google, je n'ai rien trouve.

Déjà, quelles sont les caractéristiques d’un namespace ?

Enfin, quelle est la visibilité par défaut d'un attribut et d'une méthode dans une class ?

Si vous pouviez m'éclairer...

Merci d'avance...

5 réponses

Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125
4 sept. 2008 à 20:41
Bonjour,

La visibilité par défaut est privée. (C'est sûr)

L'héritage multiple est possible mais il est à bannir. (pour les performances)
Les interfaces n'existent pas.
Une classe hérite d'une autre classe avec une portée (public, protected, private)
Une classe abstraite est une classe ayant au moins une méthode virtuelle pure.
Une "interface" est une classe qui n'a que des méthodes virtuelles pures.
Il est conseillé d'avoir toujours un destructeur virtuel.

L'intérêt du namespace est de pouvoir avoir des classes ou des fonctions qui portent le même nom.
Je reprends mon exemple habituel, pour gérer un hôtel en réseau, on a deux clients:
::hotel::Client
::network::Client

idem pour les fonctions:
::video::init();
::sound::init();
::gui::init();

Cela permet d'avoir une désambiguation du point de vue global et un nom normal à l'intérieur du namespace.


M.
0
donuts08 Messages postés 519 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 15 octobre 2008 39
3 sept. 2008 à 21:42
bonjour,

je crois que tout est public par défaut, mais dans le doute je préfère toujours préciser surtout si on change souvent de langage ;)

sinon un namespace:
c'est comme un package dans Java il me semble, un ensemble de classes qui sont regroupées comme ça tu peux demander au compilateur de chercher automatiquement les classes dedans...

ex:
au lieu de std::cout, on met namespace std; et après on peut écrire seulement cout
-1
Ice Karl X Messages postés 42 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 15 décembre 2008 1
3 sept. 2008 à 22:31
OK Merci je vais essayer de continuer a voir que sur un autre forum quelqu'un pensait que c'été private mais il été pas sur...

Une autre question si tu peux m'aider, tu sais quels types d’héritage existent en C++?

Merci
-1
donuts08 Messages postés 519 Date d'inscription dimanche 13 novembre 2005 Statut Membre Dernière intervention 15 octobre 2008 39
4 sept. 2008 à 18:39
il y a l'héritage simple et multiple, et les classes virtuelles
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ice Karl X Messages postés 42 Date d'inscription mercredi 30 juillet 2008 Statut Membre Dernière intervention 15 décembre 2008 1
4 sept. 2008 à 21:27
OK,

Merci beaucoup pour tous ces éclaircissemen.
-1