Bonjour à tous !
J'ai deux questions toutes bêtes.
J'ai beaucoup travaillé avec C++ (MS Visual C++ 6).jusqu'en 2001, puis j'ai eu d'autres préoccupations et j'y reviens maintenant après qq années plus par intérêt personnel que par réelle nécessité.
J'utilise maintenant Code::blocks + GCC sous windows ou wxDev C++.
Je remarque que les headers on changé.
le include <iostream.h> est remplacé par #include <iostream>, l'ancienne inclusion est toujours acceptée mais avec un warning "deprecated" (ce qui doit sgnifier qqch comme "has-been").
Habitué du langage C je sais parfaitement ce que signifie le #include pour un header mais dans ce cas précis que signifie réellement <iostream> est-ce un header qui ne veut pas dire son nom ou bien autre chose.
C'est ma première question.
La seconde est liée. Je constate que là où j'écrivais auparavant tout simplement 'cout' ou 'ofstream' il me faut maintenant écrire std::cout ou std::ofstream, soit !!!
L'opérateur :: est bien connu c'est l'opérateur de résolution de portée. On l'utilise dans toutes les surcharges de méthodes dans des classes dérivées quand on veut faire un appel explicite à une méthode homonyme d'une classe parente.
Donc si j'admets que l'opérateur :: a toujours ce sens, cela voudrait dire que dans le 'nouveau' système std est une sorte de superclasse, mais là où je suis largué c'est que ofstream est une classe de flux de la hiérarchie standard dérivant de ios (cf Bjarne Stroustrup). Dans ce cas un ofstream est un objet et je ne sais pas quel sens donner à std::ofstream.
Merci de m'éclairer si vous pouvez.
Partager