Constucteur avec objet en argument ??

Résolu
Signaler
Messages postés
79
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
8 décembre 2006
-
Messages postés
79
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
8 décembre 2006
-
Bonjour, je suis débutant en C++ et donc voilà, je pense que le titre est assez explicite, j'aimerai faire une classe Cercle dont le constructeur prend en argument l'objet Point. Voilà ce que j'ai écrit :

(...définition de la classe Point...)

class Cercle
{
private:
Point p;
double rayon;

public:
Cercle(Point, double);
};

Cercle::Cercle(Point p, double rayon)
{
this->p=p;
this->rayon=rayon;
}

Mais ca ne veut pas compiler.. J'obtiens l'erreur (sous devC++):

In constructor `CVertex::CVertex(CVecteur3D, CVecteur2D)':
no matching function for call to `CVecteur3D::CVecteur3D()'

Voilà, si quelqu'un pouvait me débloquer ce serait chouette :) Merci
Vincent

3 réponses

Messages postés
20
Date d'inscription
vendredi 16 mai 2003
Statut
Membre
Dernière intervention
29 septembre 2006

Pour construire la classe Cercle, il faut construire un Point p et pour faire cela, le compilateur à besoin du constructeur par défaut de la classe Point. Donc il faut que tu crée Point::Point(). Le constructeur par défaut n'est pas crée automatiquement par le compilateur si d'autres constructeur avec paramètres ont été définis.
Messages postés
79
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
8 décembre 2006

oups, l'erreur c'est :

In constructor `Cercle::Cercle(Point, double)':
no matching function for call to `Point:Point()'

(c'était pour imager)
Messages postés
79
Date d'inscription
mardi 29 juillet 2003
Statut
Membre
Dernière intervention
8 décembre 2006

Génial, merci !