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 :

probleme heritage et constructeur


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de guitariste
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 245
    Par défaut probleme heritage et constructeur
    salut tout le monde . voila je fais un tetris et pour cela j'ai crée une classe forme et des des sous classe telles que barre cube etc...
    voila la definition du constructeur de la classe forme :
    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
    Forme::Forme(int color):m_color(color)
    {
    	 m_nom ="piece"; 
     
    	 m_posx = 4;
    	 m_posy=0;
    	 m_etat= 1;
    	mov_forme_valid = true;
     
     
     
     
    	    Cube cube_0(m_posx,m_posy,m_color,0),cube_1(m_posx,m_posy,m_color,1),cube_2(m_posx,m_posy,m_color,2),cube_3(m_posx,m_posy,m_color,3);
    		m_cube.push_back(cube_0);
    		m_cube.push_back(cube_1);
    		m_cube.push_back(cube_2);
    		m_cube.push_back(cube_3);
     
     
    }
    et voila la declaration de la classe Barre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #ifndef def_barre
    #define def_barre
    #include "Forme.h"
     
    class Barre : public Forme
    {
    public :
    	Barre(int color);
     
    };
    #endif
    et enfin le constructeur de Barre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Barre::Barre(int color):Forme(color)
    {
    	    m_cube[1].m_positionx = m_posx; 
    		m_cube[1].m_positiony = m_posy; 
    		m_cube[2].m_positionx = m_posx; 
    		m_cube[2].m_positiony = m_posy + 1;
    		m_cube[3].m_positionx = m_posx; 
    		m_cube[3].m_positiony = m_posy + 2;
    		m_cube[4].m_positionx = m_posx; 
    		m_cube[4].m_positiony = m_posy + 3;
    }
    voila mais le probleme c'est quand je veux creer un objet de type Barre il me dit que la classe n'a aucun constructeur !!!
    c'est bizar ....pourtant il ya un constructeur !!

  2. #2
    Membre expérimenté
    Profil pro
    Dev
    Inscrit en
    Décembre 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Décembre 2007
    Messages : 191
    Par défaut
    tu n'as qu'un constructeur qui demande un paramètre couleur. Comment crées-tu ton objet ?

    Quel est le message d'erreur exact que tu obtiens ? ce n 'est pas plutôt "la classe n'a aucun constructeur *par défaut* " ?

  3. #3
    Membre éclairé Avatar de guitariste
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 245
    Par défaut
    salut
    par exemple si je fais cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Barre * piece = new Barre(bleu);
    j'ai une erreur de ce type
    error C2514: 'Barre' : la classe n'a aucun constructeur

  4. #4
    Membre expérimenté
    Profil pro
    Dev
    Inscrit en
    Décembre 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dev

    Informations forums :
    Inscription : Décembre 2007
    Messages : 191
    Par défaut
    ah oui. C'est peut être un problème d'include de .h dans le fichier où tu crées ta Barre ?

  5. #5
    Membre éclairé Avatar de guitariste
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 245
    Par défaut
    non j'ai bien mis un
    dans ce fichier !!

  6. #6
    Membre éclairé Avatar de guitariste
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 245
    Par défaut
    il faut noter c'est que je peux creer un objet de type forme sans probleme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    piece_suivante = new  Forme(bleu);
    voila le message d'erreur
    c:\documents and settings\peter\mes documents\visual studio 2005\projects\tetris\tetris\jeu.cpp(26) : error C2514: 'Barre' : la classe n'a aucun constructeur
    c:\documents and settings\peter\mes documents\visual studio 2005\projects\tetris\tetris\cube.h(20) : voir la déclaration de 'Barre'

  7. #7
    Invité
    Invité(e)
    Par défaut
    Ce n'est pas plutôt ton type "Cube" qui n'a pas de default constructor? Tu peux poster le message d'erreur entier?

    [EDIT: Oups, pardon, des messages ont été postés entre temps... oubliez mon poste!]

    Carl

Discussions similaires

  1. probleme avec mes constructeurs
    Par gene69 dans le forum C++
    Réponses: 8
    Dernier message: 19/10/2006, 20h47
  2. Problème avec le constructeur SAXParser()!
    Par L4BiN dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 21/06/2006, 09h32
  3. Probleme heritage : References sur la table parente
    Par Belgar dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 03/05/2005, 22h11
  4. probleme heritage en C#
    Par roninou dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/04/2005, 19h12
  5. [C++]Heritage et constructeur de copie
    Par matazz dans le forum C++
    Réponses: 2
    Dernier message: 25/03/2005, 12h31

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