Question simple sur les classes amies - C++ - Programmation
Marsh Posté le 27-09-2002 à 18:05:31
ça sert à quoi de créer une classe si tu l'instancies pas ?
De plus, tu définis CBottle avant CCarton alors que tu fais référence à CCarton dans CBottle..
Un conseil : met tes déclarations dans un .h et n'implémente pas les méthodes dans la définition des classes, tu y gagneras en lisibilité.
Marsh Posté le 27-09-2002 à 18:07:48
Merci en fait c'est juste our le test
j'ai inversé les déclaration des classe et toujours rien
sin j'enlève les commentaires ça marche mais le listing du ook ne dit rien de plus
Marsh Posté le 28-09-2002 à 02:10:01
Cross-post: http://www.developpez.net/forums/viewtopic.php?t=34356
A titre indicatif, on n'aime pas car on perd du temps à chercher/donner des réponses qui se trouvent déjà ailleurs.
Le minimum, c'est de mettre soi-même ce lien.
Marsh Posté le 27-09-2002 à 17:28:10
Bonjour,
dans mon livre de prog j'ai cet exemple. J'ai rajouté la fonction main juste pour voire si ça marche et non. voici le code:
// class CBottle
class CBottle
{
public:
// friend class CCarton;
// si je met ça forcément ça marche
// constructeur CBottle
CBottle(double height, double diameter)
{
m_Height = height;
m_Diameter = diameter;
}
private:
double m_Height;
double m_Diameter;
// mais là ils ont écrit ça :
// accès au constructeur CCarton
friend CCarton::CCarton(const CBottle& aBottle);
};
// classe CCarton
class CCarton
{
public:
// constructeur CCarton
CCarton(const CBottle& aBottle)
{
m_Height = aBottle.m_Height;
m_Breadth = 3.0 * aBottle.m_Diameter;
m_Length = 4.0 * aBottle.m_Diameter;
}
private:
double m_Height;
double m_Breadth;
double m_Length;
};
int main(void)
{
return 0;
}
Manque-t-il quelque chose au prog une défintion ... le compilateur me dit que CCarton n'est pas une classe.
Merci