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 :

passage paramettre objet class dans un constructeur


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�
    Inscrit en
    Janvier 2004
    Messages
    242
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par d�faut passage paramettre objet class dans un constructeur
    bonjour,

    j'ai un constructeur joueur qui prend en parametre un objet d'une classe plateau.

    Joueur::Joueur(string const& name,Plateau const& plateau1,Plateau const& plateau2,TcpSocket const& socket)

    et le compilo me met une erreur du genre

    joueur.cpp:25: error: no matching function for call to 'Plateau:: Plateau()'
    plateau.h:32: note: candidates are: Plateau:: Plateau(const std::string&)
    plateau.h:26: note: Plateau:: Plateau(const Plateau&)
    make: *** [joueur.o] Error 1
    je comprend qu'il essaye de creer un plateau avec le constructeur Plateau() et qu'il n'existe pas.

    j'ai essayer de faire un

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Joueur::Joueur(string const& name,Plateau const& plateau1,Plateau const& plateau2,TcpSocket const& socket) : Plateau(plateau1),Plateau(plateau2)
    mais le compilo dit

    joueur.cpp:25: error: type 'Plateau' is not a direct base of 'Joueur'
    HELP ???

    Merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    44
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 44
    Par d�faut
    (Edit, suite � un vieux Tab-Espace qui a valid� le message incomplet )

    Il y a sans doute plusieurs erreurs de syntaxe dans ton code.

    Par exemple, le constructeur a la forme :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    nom_classe::nom_classe(param1 p)
     :nom_de_membre(p)
    {
       blablabla
    }
    Appeler Plateau(plateau1) n'a pas de sens ici, puisque Plateau n'est pas la classe de base.

    Consulte les diff�rents tutoriaux, et regarde des exemples de codes pour capter le r�le et la syntaxe du constructeur

  3. #3
    Alp
    Alp est d�connect�
    Expert confirm�

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par d�faut
    Il faut que tu apprennes la syntaxe des listes d'initialisation ... et quelques autres choses aussi
    Mais commence d�j� par les listes d'initialisation : http://c.developpez.com/faq/cpp/?pag...EUR_liste_init

  4. #4
    Membre �clair�
    Inscrit en
    Janvier 2004
    Messages
    242
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par d�faut
    merci pour vos reponses mais ca ne m'apporte pas vraiment des masses.

    Alp --> je sais comment fonctionne les listes d'utilisations vu que je les utilise
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Joueur::Joueur(string const& name,Plateau const& plateau1,Plateau const& plateau2,TcpSocket const& socket) : Plateau(plateau1),Plateau(plateau2)
    mais ca ne marche pas


    Syrmonsieur --> merci mais j'ai mis Plateau(plateau1) plus par depit qu'autre chose je connais les differentes synthaxe mais la je comprend pas du tout comment faire.

    autre chose:
    j'ai un constructeur Plateau:lateau(){ // blaba }

    dans mon main je fais un Plateau p();p.find("blabl") il met une erreur du style

    main.cpp:29: error: request for member 'findShip' in 'p', which is of non-class type 'Plateau ()()'

    en java c'est si simple...

  5. #5
    Alp
    Alp est d�connect�
    Expert confirm�

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par d�faut
    Tu connais en th�orie mais visiblement la pratique te manque, c'est pourquoi je t'ai donn� le lien.

    La syntaxe c'est :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    MaClasse() : monattribut(argumentdesonconstructeur), monattribut2(de_meme), etc
    L� tu t'emm�les les pinceaux.

    Tu dois dans ton constructeur initialiser tes donn�es membres avec les valeurs pass�es en argument au constructeur!

  6. #6
    Membre �clair�
    Inscrit en
    Janvier 2004
    Messages
    242
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 242
    Par d�faut
    Citation Envoy� par Alp
    Tu connais en th�orie mais visiblement la pratique te manque, c'est pourquoi je t'ai donn� le lien.

    La syntaxe c'est :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    MaClasse() : monattribut(argumentdesonconstructeur), monattribut2(de_meme), etc
    L� tu t'emm�les les pinceaux.

    Tu dois dans ton constructeur initialiser tes donn�es membres avec les valeurs pass�es en argument au constructeur!

    avant de voir ton message , j'ai regarde mon code et je me suis dit " mais quel con ! c'est pas comme ca qu'on initialise"

    merci en tout cas

  7. #7
    Alp
    Alp est d�connect�
    Expert confirm�

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par d�faut
    Y'a pas de quoi.
    ?

Discussions similaires

  1. R�ponses: 3
    Dernier message: 23/01/2012, 17h34
  2. Passer une r�f�rence � une classe dans un constructeur
    Par alefriedx dans le forum D�buter avec Java
    R�ponses: 4
    Dernier message: 09/02/2011, 22h07
  3. passage d'une classe dans un cube
    Par paris11 dans le forum Jasper
    R�ponses: 0
    Dernier message: 23/04/2009, 16h42
  4. [.NET2.0][C#]Passage type de classe dans une fonction
    Par SLE dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 06/06/2006, 15h48
  5. [debutant] rappel de la classe dans le constructeur
    Par newtito dans le forum D�buter
    R�ponses: 6
    Dernier message: 05/10/2005, 00h15

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