bonjour à tous,
j'aimerais pouvoir faire quelque chose comme ça:
(j'ai une erreur de compilation sur cet exemple)
Si je faisais avec template<typename T> sur graphe, je pourrais remplacer les Node par n'importe quoi. Et je veux qu'on ne puisse le faire qu'avec un Node ou un fils de Node uniquement.
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 Node{ public: int f; }; class Graph{ public: virtual vector<Node*> getNeighbors(Node* from) = 0; virtual int getCost(Node* from, Node* to) = 0; }; class myNode : public Node{ public: int x, y, cost; }; class myGraph : public Graph{ public: vector<myNode*> getNeighbors(myNode* from); int getCost(myNode* from, myNode* to); private: vector<myNode*> map; };
Comment puis je faire ça?
merci pour votre réponse .
Partager