Utilisation de string en C++ [Fermé]

Signaler
-
 Mouhssine -
Bonjour
j'essaie d'apprendre le C++
Je voudrrais définir une classe qui contient un attribut de type string (chaine de caractere)
Pour cela, j'ai inclus la bibliotheque :
#include <string>
ensuite la classe est définie ainsi :
class Ville
{
public :
string nom;
}
Mais le compilateur donne une erreur en disant :
error : 'string' does not name a type
Comment dois je résoudre ca svp ??
merci bcp

7 réponses

Messages postés
908
Date d'inscription
lundi 18 avril 2005
Statut
Membre
Dernière intervention
3 août 2008
492
Salut,
Soit après tes includes tu mets :
using namespace std ;

Soit tu précise le namespace de la classe :
std::string Ville ;

A+, crabs
35
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Bonjour,

Je connais bien plus la programmation haskell que C++. J'ai créé un code source qui nécéssite #include <string.h> et j'ai pu trouver le fichier pour string.h très facilment, mais celui-ci renvoie à inclure #include <string> et je n'ai pas trouvé de fichier convenable. Comment dois-je faire?
Bonjour,

#include <string> 
class Ville 
{ 
  public : 
    std string nom; 
}; 


ou encore :

#include <string> 
using namespace std;
class Ville 
{ 
  public : 
    string nom; 
}; 


Lupin
re:

une bonne pratique est de déclarer les namespaces
au fur et a mesure du besoin :

ex:

#include <iostream>
  using std::cout;
  using std::cin;
  using std::endl;
  using std::ios;

#include <iomanip>
  using std::setiosflags; 
  using std::resetiosflags;
  using std::setw;
  using std::setprecision;

#include <fstream>
  using std::ifstream;


Lupin
Dans la théorie, je suis d'accord avec toi, mais dans la pratique, si on veut faire du C++ multiplateforme, je conseil de toujours préfixer par le namespace.
On évite ainsi les conflits de type.


taureau
Je suis d'accord avec taureau, il est préférable de toujours préfixer.
Il est également possible d'utiliser using dans un scope le plus limité possible pour éviter les conflits.
using est à proscrire dans les header (fichier .h) pour ne pas polluer ceux qui utilisent ce fichier après.
salut
ou bien vous pouvez utiliser :

#include <iostream>
using std::string;
#include <string>
class Ville
{
public :
string nom;
};
std::string nom;
j'aimerais avoir le code source pour définir string dans mon programme