Constucteur avec objet en argument ??

Résolu
vincemail Messages postés 79 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 8 décembre 2006 - 17 févr. 2006 à 12:03
vincemail Messages postés 79 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 8 décembre 2006 - 17 févr. 2006 à 14:16
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

olbal Messages postés 20 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 29 septembre 2006
17 févr. 2006 à 14:02
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.
3
vincemail Messages postés 79 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 8 décembre 2006
17 févr. 2006 à 12:11
oups, l'erreur c'est :

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

(c'était pour imager)
0
vincemail Messages postés 79 Date d'inscription mardi 29 juillet 2003 Statut Membre Dernière intervention 8 décembre 2006
17 févr. 2006 à 14:16
Génial, merci !
0