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![]()
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
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)
Partager