Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Classe "implicite" d'un itérateur

24 réponses
Avatar
Dominique MICOLLET
Bonjour

J'ai un doute dans ma compréhension de la déclaration d'un itérateur dans la
situation suivante :

class A : public vector <B>
{
......
void C();
}

void A:C()
{
....
const_iterator I=begin(); //cbegin() en C++11
.....
}

Suis-je dans l'erreur en considérant que I est implicitement déclaré comme
A::const_iterator I et qu'il équivaut à un vector<B>::const_iterator ?

Cordialement
Dominique

4 réponses

1 2 3
Avatar
espie
In article ,
Jean-Marc Bourguet wrote:
C'est daté, mais pas insupportable. Le pire, c'est moc et l'idée d'une
classe dont (presque) tout hérite, et le fait qu'ils ont une approche
framework plutôt que lib et donc une certaine tendance à tout lier.



C'est clair que les classes de Qt qui reprennent toutes les classes de la STL, c'est
penible... je crains qu'on soit encore coince avec du C++98 pour un certain temps, alors
que pourtant QVariant, signal slots et consorts gagneraient beaucoup a etre reecrits sans
moc en 2011/2014...
Avatar
Jean-Marc Bourguet
Lucas Levrel writes:

Le 6 mars 2015, Jean-Marc Bourguet a écrit :

Completer l'API obscurcit souvent la responsabilite n'est pas
claire l'elargit



Trois verbes à la suite, j'ai un problème d'analyse syntaxique de cette
phrase :-)



C'est surtout qu'il y a quelque chose qui a dû rester dans mon esprit à
moins qu'une reformulation ait laissé un bout de phrase qui aurait dû être
virée. Réessayons:

Complèter une API obscurcit souvent la responsabilité de la classe en
élargissant la responsabilité au delà de ce qu'elle était à l'origine.

(exemple de chose à ne pas faire, les classes string de la SL [...] font
beaucoup trop de choses qui a mon avis ne relevent pas de la
responsabilite d'une classe mais devraient etre faites par des fonctions
libres).



Est-ce que tu fais allusion aux fonctions copy, find, compare, substr de la
STL ?



Oui. Et QString fait encore plus.

A+

--
Jean-Marc
FAQ de fclc++: http://web.archive.org/web/*/http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Avatar
Dominique MICOLLET
Bonjour,

Dominique MICOLLET wrote:

J'ai un doute dans ma compréhension de la déclaration d'un itérateur dans


...
A::const_iterator I et qu'il équivaut à un vector<B>::const_iterator ?



À la lecture des différentes réponses, dont certaines très techniques, je me
rends compte que je manque cruellement de compétence en POO au niveau
théorique.

Quelqu'un aurait-il une référence à suggérer, au niveau débutant ou juste au
dessus, indépendante du langage de programmation mise en oeuvre pour
j'appronfondisse le paradigme ?

Cordialement

Dominique
Avatar
chuoiit14
Le mercredi 04 Mars 2015 à 09:42 par Dominique MICOLLET :
Bonjour
J'ai un doute dans ma compréhension de la déclaration d'un
itérateur dans la
situation suivante :
class A : public vector <B>
{
......
void C();
}
void A:C()
{
....
const_iterator I¾gin(); //cbegin() en C++11
.....
}
Suis-je dans l'erreur en considérant que I est implicitement
déclaré comme
A::const_iterator I et qu'il équivaut à un
vector<B>::const_iterator ?
Cordialement
Dominique
, This is a great article. It gave me a lot of useful information. thank you very much.
1 2 3