fr . comp . objet


Service Usenet Gratuit - You The Net .Com Consultez les groupes de news usenet nntp avec www.youthenet.com Postez et suivez voos fils de discussions gratuitement avec you the net .com le service gratuit de news en ligne

Re: Declaration de chaines constantes sur Fr Comp Objet



Groupes les plus fournis
comp mail serveurs soc religion comp os ms-windows xp rec arts musique metal tv tnt lettres langues-anciennes grec comp os linux configuration usenet-fr emile durkheim rec tv series comp graphisme pao petites-annonces rencontres comp lang perl comp sys mac programmation comp usenet lecteurs-de-news sci astronautique informations sci psychologie soc alcoolisme lettres langues-anciennes latin misc actualite


Derniers posts youthenet
Re: Démission pour création d'entreprise commerce ou service Que pensez-vous de la doctrine de James Madison ? Re: envoi des données à un serveur html la demeure du chaos Re: Alice au pays de Free (d'après la t ribune) Re: Est-ce ue violation de la GPL? Re: L'ultra libéralisme du chemin de fer prôné par Sarkozy... Président langue de bois ? la compagnie de l'autre

actualité

Un homme faisant l'objet de 3 ordonnances de capture arrêté à Ixelles
RTL Info.be - 10 nov 2008
Un homme de 34 ans, qui était signalé à rechercher dans le cadre de trois ordonnances de capture, a été interpellé dimanche soir à Bruxelles en possession ...
source

actualité

Le village fait l'objet d'un commentaire à la BBC
La Voix du Nord - 7 nov 2008
Jacky Duminy, maire de la commune, a reçu la visite de journalistes britanniques de la BBC. Jacky Duminy, maire de la commune, a reçu la visite de ...
source

Accueil |  Ajouter aux Favoris |  Inscription |  connexion |  Flux RSS de fr.comp.objet |

fr . comp . objet

Re: Declaration de chaines constantes



accueil . fr . comp . objet




Re: Declaration de chaines constantes

   
Sujet: Re: Declaration de chaines constantes
De: noSpam (l' arobase) mail.net (Sylvain)
Groupes: fr.comp.lang.c++, fr.comp.objet
Suivi-à: fr.comp.lang.c++
Organisation: les newsgroups par Orange
Date: 25. Jun 2006, 04:56:19
Fabien LE LEZ wrote on 25/06/2006 02:37:
On 24 Jun 2006 21:48:06 +0200, Jean-Marc Bourguet <jm@bourguet.org>:

static std::string const ma_chaine ("://");
const implique static si il n'y a pas une déclaration
antérieure qui indique que c'est avec un "linkage" externe.

Même si le "static" est de toutes façons implicite, ne devrait-on pas
le mettre explicitement ?

De même, dans le code struct A { virtual void f(); }
struct B { (virtual) void f(); }

le "virtual" est implicite ; doit-on tout de même l'écrire
explicitement ?


oups, peut être était-ce vraiment l'écriture intentionelle, se traduisant par "si je n'indique pas 'virtual' ai-je tout de même les attributs d'une déclaration (explicitement) virtuelle" ?

je ne vais pas me contenter d'un 'non' car cela a évidemment un impact sur le design des classes et qu'il est utile d'avoir en tête ces conséquences; si ce n'est pas ta question, cela servira peut être à d'autres...

petit détour: en Java, une méthode d'instance est implicitement virtuelle. ceci implique que:
- une résolution virtuelle est tjrs effectuée lors de l'appel d'une méthode d'instance,
- un client ne peut bypasser la hiérarchie fournie par l'instance (quand il invoque la méthode f() de l'instance c'est la méthode surchargée qui est appelée.

à contrario en C++, la virtualité n'est pas implicite et doit être déclarée par la classe qui introduit une méthode et souhaite la rendre virtuelle, notons pour ne pas y revenir qu'il n'est pas possible de rendre virtuele une méthode surchargée d'une classe parent qui n'était pas originellmeent virtuelle.

cette non virtualité systématique implique que par défaut la surcharge ne masque pas une méthode - le client d'une instance ayant surchargé des méthodes de ses parents a accès aux méthodes de la classe comme à celles du (ou des) parents (on omets ici les restriction de visibilité explicite par protected et private, l'instance est considérée comme une structure publique pour simplifier)

ainsi si:

struct A { void f(){} };
struct B : A { void f(){} };

alors ayant:

A a; B b;

a.f(); // est valide, bien sur et également
b.f(); // qui invoque B::f() avec le contexte de b, comme
(A& b).f(); // qui appelle A::f() avec le contexte de b

de plus la résolution n'étant pas "dynamisé" par une déclaration virtuelle; un pointeur A* même initialisé avec une instance de B ne verra que les méthodes de A:

A* pa = &B;
pa->f(); // invoque A::f() et non B::f().

(on vent arrêter là les détails verbieux)


si par contre nous déclarons la méthode virtuelle:

struct A { virtual void f(){} };
struct B : A { void f(){} };

alors la surcharge est maintenant masquante pour les clients de la classe:

b.f();      // invoque B::f()
(A& b).f(); // invoque également B::f()

bien B a accès aux détails de A, on peut avoir:

void B::f(){ A::f(); } // appel à la 'super-méthode'

autre impact, la résolution d'appel est dynamique donc:

A* pa = &B;
pa->f(); // invoque encore B::f().

la 1ière remarque (masquage) peut être vue comme une conséquence de ce second point, ou on peut voir ce second point comme le moyen d'apporter le premier (qui serait alors le but .. de l'encapsulation), le résultat est le même (la motivation et ses arcanes sont très différentes).

voila.

Sylvain.


Date Sujet  Auteur
25.06. * Re: Declaration de chaines constantesSylvain
28.06. `- Re: Declaration de chaines constantesFabien LE LEZ
Derniers articles
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs misc finance comp os linux configuration soc politique soc environnement usenet forums evolution petites-annonces photo petites-annonces musique comp os linux debats comp reseaux ip

Derniers messages
petites-annonces informatique autos mitsubishi jobs offres jobs demandes jobs d jobs comp os linux configuration misc finance comp sys pc systemes gps soc politique comp applications genealogie soc environnement usenet forums evolution misc engueulades

actualité

Un homme faisant l'objet de 3 ordonnances de capture arrêté à Ixelles
RTL Info.be - 10 nov 2008
Un homme de 34 ans, qui était signalé à rechercher dans le cadre de trois ordonnances de capture, a été interpellé dimanche soir à Bruxelles en possession ...
source

actualité

"Les infiltrés" prioritaire face à "L'objet du scandale"
Le Blog de Jean-Marc Morandini - 8 nov 2008
Tous les dimanches, Guillaume Durand propose l'objet du scandale sur France 2 à 16h15. Chaque semaine, l'animateur partage son plateau avec des ...
Pas de presse people chez Guillaume Durand Télé 2 Semaines
3 autres articles
source


 




Copyright 2008 ©  - YouTheNet.com

| disturb cardiac |