OVH Cloud OVH Cloud

Problème de classe

4 réponses
Avatar
Michaël Delva
Bonjour à tous,

voilà ma question: j'ai créé pour mon projet des fonctions globales, mais
je voudrais maintenant les placer dans une classe...

Seulement, je ne veux pas créer une instance de cette classe pour les
utiliser, mais faire plutôt directement MaClasse::MaFonction(), un peu à la
manière de la STL avec std::vector par exemple...

J'ai cru comprendre qu'il me faudrait utiliser les typename, mais je ne
suis pas sûr que ça fonctionne pour une fonction...

Merci d'avance...

4 réponses

Avatar
Benoit Rousseau
Michaël Delva wrote:
Bonjour à tous,

voilà ma question: j'ai créé pour mon projet des fonctions globales, mais
je voudrais maintenant les placer dans une classe...

Seulement, je ne veux pas créer une instance de cette classe pour les
utiliser, mais faire plutôt directement MaClasse::MaFonction(), un peu à la
manière de la STL avec std::vector par exemple...

J'ai cru comprendre qu'il me faudrait utiliser les typename, mais je ne
suis pas sûr que ça fonctionne pour une fonction...

Merci d'avance...


Tu peux définir ta fonction static

class MaClass {
static void MaFonction();
};

et appeler MaClass::MaFonction(), mais tu n'auras pas acces aux données
membres de ta fonction.

Mais je ne pense pas que ce soit ce que tu as de mieux à faire.

C'est, je crois, ce qui est fait en Java dans la classe principale
pour appeler la fonction main() qui, à mes yeux, n'a rien a faire dans
cette classe...

--
--------------------------------------------
Benoît Rousseau : roussebe at spray dot se

Avatar
Jean-Marc Bourguet
"Michaël Delva" writes:

Seulement, je ne veux pas créer une instance de cette classe pour les
utiliser, mais faire plutôt directement MaClasse::MaFonction(), un peu à la
manière de la STL avec std::vector par exemple...


Pourquoi une classe et pas un namespace justement ?

Sinon, voir les membres statiques.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Avatar
Michaël Delva
Jean-Marc Bourguet wrote in
news::

"Michaël Delva" writes:

Seulement, je ne veux pas créer une instance de cette classe pour les
utiliser, mais faire plutôt directement MaClasse::MaFonction(), un
peu à la manière de la STL avec std::vector par exemple...


Pourquoi une classe et pas un namespace justement ?

Sinon, voir les membres statiques.

A+



Parce que je ne me souvenais plus des namespace...

Merci beaucoup!!


Avatar
kanze
"Michaël Delva" wrote in message
news:...

voilà ma question: j'ai créé pour mon projet des fonctions globales,
mais je voudrais maintenant les placer dans une classe...


Ce n'est pas faire les choses à l'envers ? Si tu as déjà des fonctions,
je ne vois pas d'intérêt à les mettre artificiellement dans une classe.
En revanche, définir des classes pour savoir ce qu'il faut comme
fonctions, ça me semble une bonne idée.

--
James Kanze GABI Software mailto:
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16