Problème d'agrégation - C++ - Programmation
Marsh Posté le 02-03-2005 à 15:34:40
Code :
|
la, tu instancies un objet CPoint. Celui-ci va d'ailleurs mourrir à la fin du constructeur.
Ce que tu veux faire, c'est appeler le constructeur de CPoint. Il faut donc utiliser une liste d'initialisation.
Marsh Posté le 02-03-2005 à 18:11:05
Code :
|
Marsh Posté le 02-03-2005 à 15:17:01
Salut à tous.
Voilà mon problème : Quand j'appelle le constructeur de base de ma classe Cercle, qui appelle lui-même le constructeur de base de ma classe Point, bah en fait il appelle le constructeur par défaut, donc il met les coordonnées du point à 0 alors que celles du centre du cercle ne sont pas à 0, et je ne comprends pas pourquoi le constructeur par défaut est appelé à la place du constructeur de base...
Le cpp de la classe Cercle :
// Constructeur par défaut
CCercle::CCercle()
{
m_x = m_y = m_couleur =0;
m_rayon = 1;
CPoint m_point;
}
// Constructeur de base
CCercle::CCercle(int x, int y, int rayon, int couleur)
{
m_x = x;
m_y = y;
m_rayon = rayon;
m_couleur = couleur;
CPoint m_point(x,y);
}
Le cpp de ma classe Point :
// Constructeur par défaut
CPoint::CPoint()
{
m_x = m_y = 0;
}
// Constructeur de base
CPoint::CPoint(int x, int y)
{
m_x = x;
m_y = y;
}
Merci d'avance si vous pouvez m'aider.