IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

pbm d'utilisation de string


Sujet :

C++

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut pbm d'utilisation de string
    Bonjour,

    J'ai un devoir a faire en c++ et jai besoin d'utiliser des strings.

    mes string sont des attributs de ma classe donc mon constructeur prend en paramètre des string. seulement lorsque je crée un objet à partir du constructeur et k je veu mettre un objet de type string a laide d'une chaine de caractère tq "mon" or il considere cela comme un char*. et si je cree o prealable un objet string et k je le met en parametre on met alors un pointeur car tt objet crée est un pointeur.

    Je voulais savoir si c'était possible d'avoir en paramètre d'une méthode un string sans que celui ci soit un pointeur.

    Et si ce n'est pas possible sommes nous oblige d'avoir les attributs de mettre les attribut de type string en pointeur sur des string ou pouvons nous faire autrement.

    Merci de votre aide

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 631
    Points : 30 707
    Points
    30 707
    Par défaut
    Salut, et bienvenue sur le forum.

    La regle générale sur le forum, c'est qu'on n'est pas là pour faire les devoirs (ce qui est le pire des services que nous puissions te rendre)...

    Par contre, on peut très bien t'aider à déterminer où ton code est faux, pourquoi il est faux, et la solution la mieux adaptée pour le corriger

    Pour ce faire, il peut nous etre utile de disposer... du code que tu as déjà écrit

    Ceci dit, ma "boule de crystal" me dit qu'il y a de fortes chances que tu aies fait une erreur dans la déclaration des arguments de ton constructeur...

    Je serais (presque) pret à mettre ma main au feu que ton problème se résoudra en passant les string sous forme de référence constante "const std::string& nomarg".

    En agissant ainsi, tu n'aura absolument pas besoin de t'amuser à "jouer" avec des pointeur sur tes strings (ce qui est généralement un très mauvais plan )

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    salut,
    merci mais ne vous inquiétez pas je fais mes devoirs toute seule . Je voulais un petit renseignement. En effet vous avez raison l'utilisatin de pointeur peut nous ammené a faire des erreurs c pour cela que je posai la question. voici le code que j'ai écri mais il nest pas correct par rapport à la mise de string en paramètre de mon constructeur. Je ne vois pas du tout comment proceder. Jai essaye avec le const et sa ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    /**
    *  Classe permettant de regrouper tous les medias se trouvant dans la bibliothéque.
    */
    #include <iostream>
    #include <string>
     
    #ifndef __Media_h__
    #define __Media_h__
     
    class Media
    {
    	std::string titre_;
    	std::string langue_;
    	long cle_;
    	static long nbMedia_; 
     
    public:
    	Media(const std::string& title,const std::string& lang):titre_(title),langue_(lang){
    	if(cle_==0)
    	{
    		nbMedia_=0;
    	}
     
    	cle_ = nbMedia_ +1;
    	nbMedia_++;
    }
     
     
    	std::string getTitre() const{ return titre_;}
    	std::string getLangue() const{ return langue_;}
    	long getCle() const{ return cle_;}
    	long getNbMedia() const{ return nbMedia_;}
     
    	virtual void rapport(){std::cout << "Titre : " << titre_ << ",\n langue: " << langue_ << ",\n cle: "<< cle_<< "\n"<< std::cin;}
    };
     
    #endif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    #include "Media.h"
     
     
    void Video::rapport()
    {
    	rapport();
    	std::cout << "producteur:" << producteur_<<",\nrealsateur; "<< realisateur_<< ",\nacteur: " << acteur_<<",\nsous-titrage: " << sousTitrage_<< ",\ndurée: " << duree_<< ",année de réalisation: "<< anneeReal_<< std::cin;  
    }
     
    int main()
    {
    	std::cout<< "on test "<<std::endl;
    	std::string s1= "test";
    	//s1.assign("test");
    std::string s2="fren";
    std::string s3="testvideo";
    std::string s4="franc";
    std::string s5="prod";
    std::string s6="rel";
    std::string s7="acteu";
    std::string s8="st";
     
    	Media m(s1,s2);
    	//Media v;
    	//Video vid(s3,s4,s5,s6,s7,s8,120,1999);
     
    	m.rapport();
    	//vid.rapport();
     
    	return 0;
    }
    merci.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    salut,
    merci c bon jai compris. je croi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation de String.format()
    Par Moonwalker dans le forum Langage
    Réponses: 4
    Dernier message: 03/04/2007, 13h17
  2. Utilisation de string
    Par Jiyuu dans le forum VB.NET
    Réponses: 6
    Dernier message: 16/03/2007, 20h10
  3. pb d'utilisation de string::unsetf(ios::skipws)
    Par alskaar dans le forum C++
    Réponses: 3
    Dernier message: 08/10/2006, 12h40
  4. [C#] ValueMember sans utiliser de string
    Par Jinroh77 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 10/08/2006, 12h26
  5. Réponses: 7
    Dernier message: 25/11/2005, 18h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo