De l'objet et du c++ pour un debutant

zarbiman Messages postés 53 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 20 octobre 2005 - 28 avril 2004 à 14:40
zarbiman Messages postés 53 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 20 octobre 2005 - 28 avril 2004 à 16:54
salut tout le monde, je debute en c++ objet, et j'ai un petit probleme:
j'ai un projet qui utilise des objets, mais dans les fichiers headers que j'ai créé, les objets ne sont pas reconnus. en clair, mes objets ne sont pas en global!
je les avais d'abord placé dans le main.cpp, puis dans un fichier que j'ai appelé Objet.h, j'y ai mis d'abord les classes, puis les constructeurs et enfin les fonctions et procédures des classes (bref tout), mais rien y fait...
j'ai surement du oublier quelque chose de bidon, mais je vois pas quoi... si quelqu'un peut m'aider, je lui en serait reconnaissant

merci d'avance!

2 réponses

D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
28 avril 2004 à 15:30
je comprend pas tout à fait la question mais bon je vais essayer :)

par exemple voici un exemple de Classes.h:

#ifndef CLASSES_H
#define CLASSES_H

class CUtilities
{
    public :
        CUtilities( );
        ~CUtilities( );

    // ...
};

class CPersonnes
{
    public : 
        // Cree une nouvelles personne dans la base de donee
        CPersonnes( );
        ~CPersonnes( );
    
        int iAge, iCodePostal;
        string strNom, strVille, strPays

        // ...
};
#endif


et ensuite tu dois encore créer un fichier Classes.cpp qu implémente les fonctions de tes classes, et pour les objets tu n'as pas besoin de créer un fichier spécial, pourquoi est-ce que tu as besoin d'objet global? si tu les veux global tu peux simplement les déclarer dans le fichier Classes.h tout en dessous alors comme ca:

// Declaration des classes...

CUtilities *cUtilitiesObjet;
CPersonnes *cPersonnesObjet;
// ....


et alors tu peux les utiliser dans ton main mais en général on déclare les objets dans les fonctions, à part pour les structures c'est souvent en dehors aussi mais bien sur tu peux le faire, je ne vois pas pourquoi on ne pourrais pas utilise de fichier Objet.h mais il ne faut alors pas oublier de l'inclure dans le fichier qui compte utiliser les objets !!! :)

Allez, bonne chance ;)

Ciao ;)

[DmX]
0
zarbiman Messages postés 53 Date d'inscription lundi 7 juillet 2003 Statut Membre Dernière intervention 20 octobre 2005
28 avril 2004 à 16:54
Merci de ta reponse, tu me fais remarquer que je me suis tres mal exprimé!!! en effet, ce ne sont pas les objets que je veux mettre dans un fichier *.h, mais les classes, ce qui constitue une grosse erreur de ma part!

pour le reste, j'aimerais en fait pouvoir utiliser mes classes et les objets instantiés dans mon fichier main.cpp, mais aussi dans les fichiers d'entete que j'ai créé

le projet que je crée est en fait un pong tout simple en opengl, et je conserve les coordonnées de chacun dans un objet. et comme l'affichage se fait dans le fichier display.h, il faudrait que je puisse utiliser les fonctions getX, getY et autres que j'ai ecrites (c'est ce que je voulais dire par global).

il faudrait donc, d'apres toi que je place les declarations de classes dans le fichier classes.h et les constructeurs, destructeurs et fonctions/procedures dans classes.cpp? et évidemment preciser #include "classes.h" dans main.cpp. je viens de le faire, mais ça ne fonctionne pas, j'ai du oublier un truc...

en tout cas, merci de ton aide!
0
Rejoignez-nous