[**] Oui, je sais, ce n'est pas forcément une idée géniale, mais comme
je ne compte pas pondre du code qui utilise directement ces classes,
je ne pense pas avoir besoin de la protection apportée par "private"
et "protected".
Je crois que tu as raté une partie du problème: si j'ai 2 fonctions f(int) et f(double) dont l'une des deux est privée, et que j'appelle f(1), qui appellera-t-il ?
Vous codez souvent deux fonctions de même label dont une est privée et l'autre publique ? Même après le café ? Même avec du sucre ?
private: stream(const stream&); // not implemented // ... };
Je suppose qu'avec le niveau de cette discussion, il sera intéressant de dire que l'on n'a pas affaire ici à deux fonctions du même nom... car les constructeurs n'ont pas de nom selon la norme :-)
Ceci dit, on peut dire qu'ils ont le même « label » (?) si l'on définit adéquatement ce mot...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans le message m34q8h5qd3.fsf@uniton.integrable-solutions.net,
Je crois que tu as raté une partie du problème: si j'ai 2
fonctions f(int) et f(double) dont l'une des deux est privée, et
que j'appelle f(1), qui appellera-t-il ?
Vous codez souvent deux fonctions de même label dont une est
privée et l'autre publique ? Même après le café ? Même avec du
sucre ?
private:
stream(const stream&); // not implemented
// ...
};
Je suppose qu'avec le niveau de cette discussion, il sera intéressant
de dire que l'on n'a pas affaire ici à deux fonctions du même nom...
car les constructeurs n'ont pas de nom selon la norme :-)
Ceci dit, on peut dire qu'ils ont le même « label » (?) si l'on définit
adéquatement ce mot...
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Je crois que tu as raté une partie du problème: si j'ai 2 fonctions f(int) et f(double) dont l'une des deux est privée, et que j'appelle f(1), qui appellera-t-il ?
Vous codez souvent deux fonctions de même label dont une est privée et l'autre publique ? Même après le café ? Même avec du sucre ?
private: stream(const stream&); // not implemented // ... };
Je suppose qu'avec le niveau de cette discussion, il sera intéressant de dire que l'on n'a pas affaire ici à deux fonctions du même nom... car les constructeurs n'ont pas de nom selon la norme :-)
Ceci dit, on peut dire qu'ils ont le même « label » (?) si l'on définit adéquatement ce mot...
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Michel Michaud
Dans le message ,
J'avais entendu dire qu'une version de Visual C++ utilisait, pour le symbole décimale, le "locale" de Windows. Donc, sur un Windows français, il fallait mettre des virgules à la place des points.
Pas dans les programmes ! (mais à l'exécution, on peut avoir à entrer les données selon le locale, c'est normal non ?)
J'ai moi-même découvert VC++ il y a trois jours, donc je ne sais pas si c'est vrai.
Ça veut dire quoi « découvert VC++ » ?
D'un autre côté, Excel a cette même idiosynchrasie.
Là on est en mode « utilisateur ne connaissant pas la programmation » et la virgule est encore normale (en français).
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Dans le message v0r0j1hgu06sa50tg37sn791qc1h8bijf2@4ax.com,
J'avais entendu dire qu'une version de Visual C++ utilisait, pour le
symbole décimale, le "locale" de Windows. Donc, sur un Windows
français, il fallait mettre des virgules à la place des points.
Pas dans les programmes ! (mais à l'exécution, on peut avoir à entrer
les données selon le locale, c'est normal non ?)
J'ai moi-même découvert VC++ il y a trois jours, donc je ne sais pas
si c'est vrai.
Ça veut dire quoi « découvert VC++ » ?
D'un autre côté, Excel a cette même idiosynchrasie.
Là on est en mode « utilisateur ne connaissant pas la programmation »
et la virgule est encore normale (en français).
--
Michel Michaud mm@gdzid.com
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
J'avais entendu dire qu'une version de Visual C++ utilisait, pour le symbole décimale, le "locale" de Windows. Donc, sur un Windows français, il fallait mettre des virgules à la place des points.
Pas dans les programmes ! (mais à l'exécution, on peut avoir à entrer les données selon le locale, c'est normal non ?)
J'ai moi-même découvert VC++ il y a trois jours, donc je ne sais pas si c'est vrai.
Ça veut dire quoi « découvert VC++ » ?
D'un autre côté, Excel a cette même idiosynchrasie.
Là on est en mode « utilisateur ne connaissant pas la programmation » et la virgule est encore normale (en français).
-- Michel Michaud http://www.gdzid.com FAQ de fr.comp.lang.c++ : http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
Gabriel Dos Reis
"Michel Michaud" writes:
| Dans le message , | > Bertrand Lenoir-Welter writes: | >>> Je crois que tu as raté une partie du problème: si j'ai 2 | >>> fonctions f(int) et f(double) dont l'une des deux est privée, et | >>> que j'appelle f(1), qui appellera-t-il ? | >> | >> Vous codez souvent deux fonctions de même label dont une est | >> privée et l'autre publique ? Même après le café ? Même avec du | >> sucre ? | > | > Oui. | > | > struct stream { | > stream(); | > explicit stream(const string&); | > // ... | > | > private: | > stream(const stream&); // not implemented | > // ... | > }; | | Je suppose qu'avec le niveau de cette discussion, il sera intéressant | de dire que l'on n'a pas affaire ici à deux fonctions du même nom... | car les constructeurs n'ont pas de nom selon la norme :-)
et tu sais aussi bien que moi que la norme est en contradiction interne sur ce point -- les constructeurs ont bien un nom, c'est juste qu'une partie de la norme ne le sait pas encore :-)
| Ceci dit, on peut dire qu'ils ont le même « label » (?) si l'on définit | adéquatement ce mot...
Ah!
-- Gaby
"Michel Michaud" <mm@gdzid.com> writes:
| Dans le message m34q8h5qd3.fsf@uniton.integrable-solutions.net,
| > Bertrand Lenoir-Welter <bertrand.2004@galaad.net> writes:
| >>> Je crois que tu as raté une partie du problème: si j'ai 2
| >>> fonctions f(int) et f(double) dont l'une des deux est privée, et
| >>> que j'appelle f(1), qui appellera-t-il ?
| >>
| >> Vous codez souvent deux fonctions de même label dont une est
| >> privée et l'autre publique ? Même après le café ? Même avec du
| >> sucre ?
| >
| > Oui.
| >
| > struct stream {
| > stream();
| > explicit stream(const string&);
| > // ...
| >
| > private:
| > stream(const stream&); // not implemented
| > // ...
| > };
|
| Je suppose qu'avec le niveau de cette discussion, il sera intéressant
| de dire que l'on n'a pas affaire ici à deux fonctions du même nom...
| car les constructeurs n'ont pas de nom selon la norme :-)
et tu sais aussi bien que moi que la norme est en contradiction
interne sur ce point -- les constructeurs ont bien un nom, c'est juste
qu'une partie de la norme ne le sait pas encore :-)
| Ceci dit, on peut dire qu'ils ont le même « label » (?) si l'on définit
| adéquatement ce mot...
| Dans le message , | > Bertrand Lenoir-Welter writes: | >>> Je crois que tu as raté une partie du problème: si j'ai 2 | >>> fonctions f(int) et f(double) dont l'une des deux est privée, et | >>> que j'appelle f(1), qui appellera-t-il ? | >> | >> Vous codez souvent deux fonctions de même label dont une est | >> privée et l'autre publique ? Même après le café ? Même avec du | >> sucre ? | > | > Oui. | > | > struct stream { | > stream(); | > explicit stream(const string&); | > // ... | > | > private: | > stream(const stream&); // not implemented | > // ... | > }; | | Je suppose qu'avec le niveau de cette discussion, il sera intéressant | de dire que l'on n'a pas affaire ici à deux fonctions du même nom... | car les constructeurs n'ont pas de nom selon la norme :-)
et tu sais aussi bien que moi que la norme est en contradiction interne sur ce point -- les constructeurs ont bien un nom, c'est juste qu'une partie de la norme ne le sait pas encore :-)
| Ceci dit, on peut dire qu'ils ont le même « label » (?) si l'on définit | adéquatement ce mot...
Ah!
-- Gaby
kanze
Michel Michaud wrote:
Dans le message ,
J'avais entendu dire qu'une version de Visual C++ utilisait, pour le symbole décimale, le "locale" de Windows. Donc, sur un Windows français, il fallait mettre des virgules à la place des points.
Pas dans les programmes ! (mais à l'exécution, on peut avoir à entrer les données selon le locale, c'est normal non ?)
J'ai moi-même découvert VC++ il y a trois jours, donc je ne sais pas si c'est vrai.
Ça veut dire quoi « découvert VC++ » ?
Qu'il ne savait pas qu'il existait un compilateur avec ce nom avant:-) ?
D'un autre côté, Excel a cette même idiosynchrasie.
Là on est en mode « utilisateur ne connaissant pas la programmation » et la virgule est encore normale (en français).
Ce n'est pas si simple, parce que c'est aussi un langage de programmation. Excel a la particularité de ne pas réelement distinguer entre les données entrées en interactives (qui doivent respecter la localisation) et le programme.
Que se passe-t-il, par exemple, si j'écris un jeu de macros ou de formes Excel que je distribue mondialement ?
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
Michel Michaud wrote:
Dans le message v0r0j1hgu06sa50tg37sn791qc1h8bijf2@4ax.com,
J'avais entendu dire qu'une version de Visual C++ utilisait,
pour le symbole décimale, le "locale" de Windows. Donc, sur
un Windows français, il fallait mettre des virgules à la
place des points.
Pas dans les programmes ! (mais à l'exécution, on peut avoir à
entrer les données selon le locale, c'est normal non ?)
J'ai moi-même découvert VC++ il y a trois jours, donc je ne
sais pas si c'est vrai.
Ça veut dire quoi « découvert VC++ » ?
Qu'il ne savait pas qu'il existait un compilateur avec ce nom
avant:-) ?
D'un autre côté, Excel a cette même idiosynchrasie.
Là on est en mode « utilisateur ne connaissant pas la
programmation » et la virgule est encore normale (en
français).
Ce n'est pas si simple, parce que c'est aussi un langage de
programmation. Excel a la particularité de ne pas réelement
distinguer entre les données entrées en interactives (qui
doivent respecter la localisation) et le programme.
Que se passe-t-il, par exemple, si j'écris un jeu de macros ou
de formes Excel que je distribue mondialement ?
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
J'avais entendu dire qu'une version de Visual C++ utilisait, pour le symbole décimale, le "locale" de Windows. Donc, sur un Windows français, il fallait mettre des virgules à la place des points.
Pas dans les programmes ! (mais à l'exécution, on peut avoir à entrer les données selon le locale, c'est normal non ?)
J'ai moi-même découvert VC++ il y a trois jours, donc je ne sais pas si c'est vrai.
Ça veut dire quoi « découvert VC++ » ?
Qu'il ne savait pas qu'il existait un compilateur avec ce nom avant:-) ?
D'un autre côté, Excel a cette même idiosynchrasie.
Là on est en mode « utilisateur ne connaissant pas la programmation » et la virgule est encore normale (en français).
Ce n'est pas si simple, parce que c'est aussi un langage de programmation. Excel a la particularité de ne pas réelement distinguer entre les données entrées en interactives (qui doivent respecter la localisation) et le programme.
Que se passe-t-il, par exemple, si j'écris un jeu de macros ou de formes Excel que je distribue mondialement ?
-- James Kanze GABI Software Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34