Bonjour à tous ; quelqu'un peut-il construire le projet ci-dessous et me
dire s'il obtient la même erreur au linkage ?
premier fichier .h :
second fichier .h :
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 #ifndef ARMES #define ARMES #include <iostream> using namespace std; class ArmeType { public : virtual void utiliserArme(void) = 0; }; // Classes dérivées class Poignard : public ArmeType { public : virtual void utiliserArme(void) {cout<<"Le garde n'eut que le temps d'apercevoir l'eclat brillant de mon POIGNARD avant de s'ecrouler mort."<<endl;} }; class ArcEtFleche : public ArmeType { public : virtual void utiliserArme(void) {cout<<"D'un trait,la FLECHE parcouru la distance qui me separait de ma proie et toucha juste a la jambe gauche ..."<<endl;} }; class Hache : public ArmeType { public : virtual void utiliserArme(void) {cout<<"Un coup formidablement assene de ma HACHE fit voler en eclat son mince bouclier de bois !"<<endl;} }; class Epee : public ArmeType { public : virtual void utiliserArme(void) {cout<<"Je venais a peine d'embrocher 2 gardes avec mon EPEE que 3 autres apparurent sur le seuil de la porte d'entree."<<endl;} }; #endif // ARMES
fichier .cpp :
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
36
37
38
39 #ifndef PERSONNAGES #define PERSONNAGES #include "TypeArmes.h" class Personnage { protected : ArmeType* arme; // type d'arme en main public : virtual void combattre(void) {}; }; // Classes dérivées class Assassin : public Personnage { public : Assassin() {arme=new Poignard();} virtual void combattre(void) {arme->utiliserArme();} }; class Maraudeur : public Personnage { public : Maraudeur() {arme=new ArcEtFleche();} virtual void combattre(void) {arme->utiliserArme();} }; class Guerrier : public Personnage { public : Guerrier() {arme=new Hache();} virtual void combattre(void) {arme->utiliserArme();} }; class Corsaire : public Personnage { public : Corsaire() {arme=new Epee();} virtual void combattre(void) {arme->utiliserArme();} }; #endif // PERSONNAGES
Question subsidiaire : Pourquoi une référence à _WinMain@16 alors que c'est un projet Win32 ?
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 #include "Personnages.h" int main(void) { // Création des personnages Corsaire peter; Maraudeur robin; Assassin landru; Guerrier conan; // Ils attaquent peter.combattre(); robin.combattre(); landru.combattre(); conan.combattre(); return 0; }
Merci par avance ...
Partager