Passer en paramètre un type défini dans une classe vers une fonction d'une autre
Johanboy
Messages postés8Date d'inscriptionvendredi 3 octobre 2003StatutMembreDernière intervention23 juillet 2010
-
23 juil. 2010 à 10:50
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
23 juil. 2010 à 14:07
Bonjour à tous,
J'ai une question à laquelle je ne trouva pas de solution.
Je veux pouvoir passer un paramètre dans une fonction de la classe C un paramètre de type défini dans la classe B (cf exemple).
Comment faites-vous?
Merci.
class B: public A
{
public:
enum enScrollingMode
{
ScrollingNone=0,
ScrollingLeft,
ScrollingRight
};
enScrollingMode enCurrScrollingMode;
};
class C : public A
{
public:
void vSetScrollingMode(int8u i8uField,enScrollingMode CLabel::enCurrScrollingMode);
};
Johanboy
A voir également:
Passer en paramètre un type défini dans une classe vers une fonction d'une autre
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 23 juil. 2010 à 11:58
Précise simplement le nom de la classe:
void vSetScrollingMode(int8u i8uField, B::enScrollingMode CLabel::enCurrScrollingMode);
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Johanboy
Messages postés8Date d'inscriptionvendredi 3 octobre 2003StatutMembreDernière intervention23 juillet 2010 23 juil. 2010 à 12:46
Merci pour ta réponse.
C'est ce que j'ai essayé, mais le compilo me dit classe B non déclarée. Or j'ai inclus le fichier header comprenant la classe ("B.h"). J'ai essayé un "class B;" aussi dans le fichier "C.cpp" mais rien à faire...
fichier "B.h":
class B: public A
{
public:
enum enScrollingMode
{
ScrollingNone=0,
ScrollingLeft,
ScrollingRight
};
enScrollingMode enCurrScrollingMode;
};
fichier "C.h":
class C : public A
{
public:
void vSetScrollingMode(int8u i8uField,B::enScrollingMode enCurrScrollingMode);
};
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 23 juil. 2010 à 14:07
J'arrive sans problème à compiler ceci, chez moi:
typedef int int8u;
class A
{
};
class B : public A
{
public:
enum enScrollingMode
{
ScrollingNone=0,
ScrollingLeft,
ScrollingRight
};
enScrollingMode enCurrScrollingMode;
};
class C : public A
{
public:
void vSetScrollingMode(int8u i8uField, B::enScrollingMode enCurrScrollingMode)
{
}
};
int main()
{
A a;
B b;
C c;
c.vSetScrollingMode(4, B::ScrollingNone);
return 0;
}
En mettant A, B et C dans des fichiers séparés, il n'y a aucune raison que ça ne fonctionne pas.
________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question