begin process at 2012 05 28 08:38:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

les class


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

les class

mardi 5 février 2008 à 01:47:48 | les class

snpier wolf

bonjour voila j'ais commancer un peux a programmé avec les class.
et j'ais un problème que je n'arrive pas à résoudre.

voila le bou de code

class command
       {
       public :     
                string ligne;
                string page;
              char*   sName ;   
     
     void ouvrire()
      {
     ifstream  fichier(sName);
        } 
     
      void lire()
       {
           while ( getline( fichier, ligne )){ page=page+entre+ligne;}
cout<<page;
           }
protected:
string entre;
};

mon problème est symple  il me dis que fichier n'ais pas déclaré a la ligne "while (getline(fichier,ligne)){page=page+entre+ligne;}" .
alors je me suis dis que sais peux être a cause qui se trouve dans void ouvrire, donc je l'ais mi avant ouvrire comme ceci :
            
string page;
              char*   sName ;   
     ifstream fichier; 
     void ouvrire()
      {
     fichier(sName);
        }  
     
Et la ça marche toujours pas pour quoi et que fair?
mardi 5 février 2008 à 02:06:47 | Re : les class

gamemonde

Membre Club
Réponse acceptée !
1 -tu utilises  pas de constructeur ni de destructeur et tu utilises des pointeurs
2 - ouvrire -> ouvrir
3 - tu initialise un ifstream en local mais ta classe ne le connais pas tu aurais du mettre dans le privte : ifstream & m_oFile;
4 - une classe sert de regroupement et de protection tu mets tout en public sans proteger tes données mets tes variables en private
      et utilise des get ou set pour la manipulation .

donc dans la methode ouvrir
tu fais
oFile.open(sName);

sName il recoit ces données ou? moi j'ai encore des erreurs ensuite mais plus le temps de verifié cela .


mardi 5 février 2008 à 02:11:32 | Re : les class

snpier wolf

sName recoit ces données dans main car sais l'utilisateur qui doit dir ou pointé
 merci

mardi 5 février 2008 à 02:17:40 | Re : les class

gamemonde

Membre Club
tu permets a l'utilisateur de modifié des données directement sans passé par ta classe je crois que tu devrais trouvé de l'information sur le premier modele d'une classe soit : l'encapsulation

regarde sur internet tu comprendras mieux comment doit  être creer une classe
mardi 5 février 2008 à 22:00:42 | Re : les class

SAKingdom

Membre Club
Prendre l'utilisateur de la classe (qui est, soit dit en passent, un programmeur) pour un idiot total est la plus grande idioties jamais inventée. Quand on sait programmer, on ne devrait même pas avoir à connaitre ce qu'est l'encapsulation.
Voilà, ce n'était ici que mon simple point de vue sur l'encapsulation. Je ne juge personne.

Ensuite, snpier wolf, ce n'est pas la première fois qu'on te le dis. Il faut ABSOLUMENT que tu ouvres un livre et comprenne les principes avant de les appliquer. Sinon, tu tourneras sans cesse en rond.

C++ (@++)

mardi 5 février 2008 à 23:14:45 | Re : les class

gamemonde

Membre Club
ou quelque part il est ecrit que je l'est pris pour un idiot attention je lui donnais le nom du procédé qui permet de créer une classe en utilisant les données d'une maniere acceptable .

a moin que j'ai mal compris ton point de vue .

la classe permet justement à empecher l'utilisateur de modifie les données directement sans passer par la classe.
mardi 5 février 2008 à 23:23:38 | Re : les class

SAKingdom

Membre Club
Non non je n'est pas dis que tu l'avais traité d'idiot.
C'est le concept de tout cacher au programmeur utilisateur et passer par de couteux appels à des méthodes plutôt qu'un accès direct que je trouve idiot.
L'utilisateur n'est pas un crétin quand même. Il doit savoir ce qu'il fait, quand le faire et où le faire. Si il n'est pas capable de gérer convenablement un programme sans passer pour toute une surcouche inutile, peut-on l'appeler un programmeur ?

C++ (@++)

mardi 5 février 2008 à 23:31:37 | Re : les class

gamemonde

Membre Club
a bien ok je comprend malheureusement non le programmeur est pas forcement cretin  mais peux etre ignorant

pour une simple classe je comprend mais exemple permettre de pouvoir utilisé toute les variables de la classe string
une personne voulant le faire croyant que ca va resoudre quelque chose . peux faire cracher le programme

meme chose si tu as une variable membre appeller m_iSize et elle est un retour a une variable qui a été alouer ex : un tableau
un crache peux survenir et pourtant la compilation passe .

meme chose avec la classe fstream .

meme le mfc pareil .

au moins si tu te dis bof pas grave fais la validation la ou ta variable sera utilisé sur celui ci : ouvrir


mais bon je crois que cest un debat qui a pas lieu d'etre mais je trouve que c'est une bonne pratique de programmation
surtout avant de passer
au deuxieme : heritage et au 3er polymorphisme


mardi 5 février 2008 à 23:34:58 | Re : les class

snpier wolf

si je commance a programmé avec des class sais bien parce que je suis au class dans le livre, mais je ne comprends pas tout a se qu'il dise alors j'essaie. et comme je n'arrivais toujours pas a comprendre mm en regardan sur le net j'ais posé la question dsl si elle était si idiote.
merci gamemonde sa marche mnt...

mardi 5 février 2008 à 23:37:27 | Re : les class

gamemonde

Membre Club
la question etais pas idiote car il faut savoir que fstream enpeche le constructeur par copie il ne permet que l'envoi par reference
c'est pour cela que ca marchait pas

1 2

Cette discussion est classée dans : fichier, ligne, page, string, ais


Répondre à ce message

Sujets en rapport avec ce message

c++ urgence svp [ par yanlou ] maximus salut,j'ai u fichier txt qui contient des chaine de caracté, exemple :RFRPAD7RFRPAD8/A8 HELP - - getline string char conversion de types?? [ par gregroar ] //je teste dans une console la fonction getline, que je trouve suffisament rapide. //cependant je me retrouve confronté à des problemes de conversion Exception anormale lors d'un substr C++ [ par LeaIUT ] Bonsoir, lors de l'execution de mon programme, une exception me stoppe la progression: "terminate called after throwing an instance of 'std::out_of_r probleme de zero binaire dans un enregistrement [ par thefifou ] Bonjour a tous, Je vous ecris afin de trouver un peu d'aide. Mon problème est le suivant: Je dois lire, ligne par ligne, un fichier en entrée, manipul Comparaison de string ligne par ligne pour supprimer les doublons [ par Flash11 ] Bonjour, je suis nouveau et débutant dans les langages de programmation. J'espère que vous pourrez m'aider à résoudre mon problème et je remercie d'a Lecture de ligne dans un fichier texte sous windows et unix [ par moumouteb ] Bonjour, Je développe un code qui doit tourner sous Windows et UNIX. J'utilise la fonction getline() pour lire un fichier texte. Et bien sûr suivant probléme de détection de la derniére ligne d'un fichier txt [ par johnASP ] Bonjour à tous, J'aurais voulu savoir comment faire pour réaliser une condition de ce genre: if( pas encor à la fin du fichier) { ... } petit coup détection dans un fichier txt [ par johnASP ] Bonjour à tous! J'aurais voulu savoir comment faire pour tester si une ligne d'un fichier txt commence par une chaine de caractére spécial (ex: si la Problème de récupération de valeur "fichier.csv" [ par fredrizk ] Bonjour J'ai écrit une fonction qui parcours un fichier.csv, retrouve les 2 valeurs que je lui donner et renvoi 2 valeurs correspondantes. Ensuite je lecture fichier C [ par ayarikhaoula ] salut tout le monde je souhaite développez une fonction en c : qui lit un fichier ligne par ligne et stoque son contenu dans une chaine de carractère.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales