morgandetoi06
Messages postés389Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention17 décembre 20041 19 oct. 2004 à 00:17
j ai mit <headers.h> juste pour situer où doit se placer le using namespace std c tout c un exemple
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 18 oct. 2004 à 23:34
non, <headers>
et savoir ce qu'implique using namespace std;
morgandetoi06
Messages postés389Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention17 décembre 20041 18 oct. 2004 à 23:16
<headers.h>
using namespace std;
pour eviter des mettre des std:: un peu partout ;)
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 18 oct. 2004 à 19:21
oui ca existe deja, c'est le model basic_string de la stl
pas la peine de te fatiguer a reinventer la roue :)
thiosyiasar
Messages postés186Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention30 novembre 20103 18 oct. 2004 à 10:16
C'est vrai... Maintenant je crois que cette classe existe déja dans la stl je crois. Son but est purement pédagogique (pour moi) et les débutant qui se mettre au c++.
Je pense effectivement qu'un truc utile et terminé serait plus intéressant. Je vais y penser
Merci
Gendal67
Messages postés627Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention24 juillet 20112 15 oct. 2004 à 20:30
Moi ce qui m'interroge, c'est pourquoi créer ce genre de classe et se limiter alors que tu pourrais largement exploiter la surcharge operateur par exemple pour cancaténer 2 chaines, ou mettre des nombre dans des chaines....
thiosyiasar
Messages postés186Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention30 novembre 20103 14 oct. 2004 à 18:44
J'ai recréé un projet vide et j'ai recompilé
Ca marche
Merci pour l'info
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 14 oct. 2004 à 18:11
Va dans les propriétés du projet et choisi "Ne pas utiliser les entetes précompilées".
Et a l'avenir si tu veux eviter ce probleme, n'utilises pas le Wizard de VC++ pour créer tes projets, mais crées un espace de travail vierge et ajoutes y au fur et a mesure tes fichiers (*.cpp, *.h, ...).
Shell
thiosyiasar
Messages postés186Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention30 novembre 20103 14 oct. 2004 à 18:07
Effectivement, un des premiers trucs que j'ai appris ici c'est de ne pas utiliser les MFC mais cette ligne est collée par VisualC et si je le vire je n'arrive plus à compiler koi ke ce soit !!!!!
unexpected end of file while looking for precompiled header directive
(pour chaque classe du projet)
T'as une idée ?
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 14 oct. 2004 à 17:44
Tu utilises pas de MFC apparement alors pourquoi inclues tu l'entete précompilé stdafx.h ???
Vire ce truc c'est moche et ca fait peur.
Shell
thiosyiasar
Messages postés186Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention30 novembre 20103 14 oct. 2004 à 11:50
Oooups !! en fait c'est
// Si tampon alloué
if (this->m_pszBuffer) HeapFree();
Car le buffer est initialisé à Null et le reste si aucun tampon n'a été allouée
Merci
Je corrige le source
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 14 oct. 2004 à 11:26
Dans le destructeur, pourquoi teste si:
if(! this->m_hHeapHandle) tenteDestruct
Ne serait pas plutot:
if(this->m_hHeapHandle) tenteDestruct ???
Desole mais pas le temps de tester tout cela.
thiosyiasar
Messages postés186Date d'inscriptionlundi 11 mars 2002StatutMembreDernière intervention30 novembre 20103 14 oct. 2004 à 10:43
Merci pour vos commentaire
En fait j'utilise this comme en java, pour que le code soit le plus rigoureux possible.
Par contre, avez vous eu le même pb que moi lors des test avec cette classes ?
Free Heap block 1345b0 modified at 1345e4 after it was freed
Ca se produit sur le return 0; du main() si on initialise la taille initiale à 100 par exemple. à 0 ou 32 ca marche !!!
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 13 oct. 2004 à 21:06
ou pour lever une ambiguité de nom
void Foo::bar( int num )
{
this->num = num;
}
leprov
Messages postés1160Date d'inscriptionvendredi 23 juillet 2004StatutMembreDernière intervention21 octobre 201017 13 oct. 2004 à 21:00
ou pour la réécriture d'un operateur d'affectation pour eviter l'autoaffectation dont le resultat est plus que douteux.....ou encore pour appeler une autre methode de cette classe avec cet objet
cosmobob
Messages postés700Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention27 janvier 20094 13 oct. 2004 à 20:05
salut ;)
bon juste une remarque pas immensément importante... à l'interieur d'une méthode de classe, si tu fais référence a un champ de cette classe ou a une autre methode, t'es pas obligé de mettre this-> devant. this est surtout utile quand une méthode renvoie un pointeur (ou une reference) vers l'objet considéré.
a++
19 oct. 2004 à 00:17
18 oct. 2004 à 23:34
et savoir ce qu'implique using namespace std;
18 oct. 2004 à 23:16
using namespace std;
pour eviter des mettre des std:: un peu partout ;)
18 oct. 2004 à 19:21
pas la peine de te fatiguer a reinventer la roue :)
18 oct. 2004 à 10:16
Je pense effectivement qu'un truc utile et terminé serait plus intéressant. Je vais y penser
Merci
15 oct. 2004 à 20:30
14 oct. 2004 à 18:44
Ca marche
Merci pour l'info
14 oct. 2004 à 18:11
Et a l'avenir si tu veux eviter ce probleme, n'utilises pas le Wizard de VC++ pour créer tes projets, mais crées un espace de travail vierge et ajoutes y au fur et a mesure tes fichiers (*.cpp, *.h, ...).
Shell
14 oct. 2004 à 18:07
unexpected end of file while looking for precompiled header directive
(pour chaque classe du projet)
T'as une idée ?
14 oct. 2004 à 17:44
Vire ce truc c'est moche et ca fait peur.
Shell
14 oct. 2004 à 11:50
// Si tampon alloué
if (this->m_pszBuffer) HeapFree();
Car le buffer est initialisé à Null et le reste si aucun tampon n'a été allouée
Merci
Je corrige le source
14 oct. 2004 à 11:26
if(! this->m_hHeapHandle) tenteDestruct
Ne serait pas plutot:
if(this->m_hHeapHandle) tenteDestruct ???
Desole mais pas le temps de tester tout cela.
14 oct. 2004 à 10:43
En fait j'utilise this comme en java, pour que le code soit le plus rigoureux possible.
Par contre, avez vous eu le même pb que moi lors des test avec cette classes ?
Free Heap block 1345b0 modified at 1345e4 after it was freed
Ca se produit sur le return 0; du main() si on initialise la taille initiale à 100 par exemple. à 0 ou 32 ca marche !!!
13 oct. 2004 à 21:06
void Foo::bar( int num )
{
this->num = num;
}
13 oct. 2004 à 21:00
13 oct. 2004 à 20:05
bon juste une remarque pas immensément importante... à l'interieur d'une méthode de classe, si tu fais référence a un champ de cette classe ou a une autre methode, t'es pas obligé de mettre this-> devant. this est surtout utile quand une méthode renvoie un pointeur (ou une reference) vers l'objet considéré.
a++