Bonjour à tous,
je veux combiner le passage par référence et la notion d'héritage dans mon code,
la méthode Get de la classe test de mon code de test possède deux paramètres dont le deuxième est passé par référence, sauf que je ne veux pas faire de casting lors de l’appel à cette méthode,
je veux faire directement Get(1,ptr); au lieu de Get(1,(ab*&)ptr);
voici mon code, y'a t'il une solution svp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 class ab { }; class a:public ab { int x; public: void Seta(int val){x=val;}; }; class b:public ab { int x; public: void Setb(int val){x=val;}; }; class test { a pa; b pb; public: void Get(int type, ab* & ptr) { if(type==1) ptr=&pa; else ptr=&pb; }; }; int _tmain(int argc, _TCHAR* argv[]) { test t; a *ptr=NULL; t.Get(1,(ab*&)ptr);//t.Get(1,ptr); return 0; }
Partager