Bonjour,
Est-il possible de créé une référence d'une classe virtuelle pure ?
Par exemple :
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class A{ virtual void func1()=0; }; class B{ void funct2(A &); };
Bonjour,
Est-il possible de créé une référence d'une classe virtuelle pure ?
Par exemple :
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 class A{ virtual void func1()=0; }; class B{ void funct2(A &); };
Oui j'ai testé
Voila le code :
Et voilà ce que me renvoi le compilateur:
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 #include <iostream> using namespace std; class A{ public : virtual void func1()=0; }; class A1: public A{ public : virtual void func1(){ cout << "A1" << endl; } }; class B{ public: void func2(A & ref){ A.func1(); } }; int main(int argc, char** argv) { A1 bob1; B bob2; bob2.func2(A1); return 0; }
g++ -c -g -MMD -MP -MF build/Debug/GNU-Linux-x86/src/main.o.d -o build/Debug/GNU-Linux-x86/src/main.o src/main.cpp
src/main.cpp: In member function ‘void B::funct2(A&)’:
src/main.cpp:20:10: erreur: expected unqualified-id before ‘.’ token
src/main.cpp: In function ‘int main(int, char**)’:
src/main.cpp:29:19: erreur: expected primary-expression before ‘)’ token
Salut,
Et... en transmettant le paramètre (ref) recu plutôt qu'en essayant d'utiliser le type (A), qu'est ce que ca donne
Désoler koala01, je n'ai pas compris ta réponse, peux-tu reformuler, merci.
Ce que koala veut t'expliquer c'est que c'est un problème de syntaxe basique:
A est le nom du type, mais pour appeler une fonction c'est le nom de la référence (ref, donc) qu'iol faut utiliser.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 A.func(); // noooon! --> ref.func(); // ahh, much better!(c)
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