Salut,
Je voudrais savoir s'il était possible d'avoir une classe où on définit une méthode qui a comme argument un objet de cette même classe.
Un exemple ne serait pas de refus
Merci d'avance.
Salut,
Je voudrais savoir s'il était possible d'avoir une classe où on définit une méthode qui a comme argument un objet de cette même classe.
Un exemple ne serait pas de refus
Merci d'avance.
Biensur :
Et par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class A { void func(A &Obj); private : int x; } void A::func ( A &Obj) { Obj.x = 2*x; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 A Tst; A Truc; Truc.func(tst);
[Balises CODE rajoutées par Loulou24, merci d'y penser à l'avenir]
Mes articles Développez | Dernier article : Raytracer en haskell
Network library : SedNL | Zenol's Blog : http://zenol.fr
N'oubliez pas de consulter la FAQ et les cours et tutoriels.
Merci beaucoup
Un bon exemple pour cette question est l'opérateur de recopie (très utile, notamment pour utiliser certains templates):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 class A { public: A* A(A &source); private: int unEntier; } A* A(A &source) { unEntier = source.unEntier; return this; //utilile pour les trucs du style A* a = (A*) b = (A*) c ... }
« L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
Spinoza — Éthique III, Proposition VII
1/ Un constructeur par copie prend en général une référence constante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 A* A(A &source) { unEntier = source.unEntier; return this; //utilile pour les trucs du style A* a = (A*) b = (A*) c ... }
2/ Un constructeur, par copie ou non, ne renvoie rien.
3/ "A* a = (A*) b = (A*) c" -> ça compilera peut-être, mais ça ne servira à rien. Et ça n'utilisera en aucun cas une éventuelle valeur de retour du constructeur par copie.
Mieux que SDL : découvrez SFML
Mes tutoriels 2D/3D/Jeux/C++, Cours et tutoriels C++, FAQ C++, Forum C++.
euh oui j'ai fait un gros mix entre l'operateur = et le constructeur de recopie.
Je copierais 100 fois "je ne posterais plus le dimanche!"
(normalement, je ne devrais plus poster le lundi matin non plus... )
« L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
Spinoza — Éthique III, Proposition VII
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager