vecteur de vecteur ou pointeur de pointeur - C++ - Programmation
Marsh Posté le 01-04-2013 à 13:37:05
Si tu ne connais pas la taille de ton tableau, je pense qu'utiliser des vector est une bonne solution
Marsh Posté le 01-04-2013 à 14:41:45
si on utilise vector <vector<Lien *>> comment je peut coder mon constructeur par défaut.
Marsh Posté le 01-04-2013 à 14:47:10
tu n'as rien à faire. le vector sera vide à la construction de ton objet Graph
Marsh Posté le 01-04-2013 à 15:42:33
et pour le lien* je ne dois pas faire une allocation dynamique dans le constructeur?
Et pour mon destructeur que dois je faire?
et autre question svp : j'ai un pointeur ici sur des objets de type Lien. Est ce que je peux ne pas l'utiliser? et juste mettre vector<vector<Lien>>.
Remarque: la notion d'héritage et de polymorphisme sera présente dans mon travail.
Marsh Posté le 01-04-2013 à 17:56:02
Ben un container peut contenir n'importe quel type de variable, donc oui tu peux faire vector<vector<Lien>>.
Et un Lien n'est pas simplement une structure avec trois variables? (les nœuds qu'il relies + le coût)
Marsh Posté le 01-04-2013 à 18:11:11
je le declare comme etant une classe
Code :
|
En fait c'est une classe mère qui a deux classes dériveés.
et pour Lien* pourquoi non?
Marsh Posté le 01-04-2013 à 18:16:30
Si tu as absolument besoin du polymorphisme, alors il faut absolument utiliser un pointeur (ou une ref quand tu peux), maintenant je vois mal pourquoi tu aurais besoin de classes hérités de Lien, surtout que n1&n2 sont en private, le destructeur n'est pas virtual ni la fonction d'affichage (et pense à faire passer no1/no2 en ref constante, ça évite des copies).
Marsh Posté le 01-04-2013 à 18:37:50
j'ai deux classes filles qui héritent de la classe mère Lien.h. En fait, je suis entrain de coder un graphe qui représente une requête SQL. Et dans une requête SQL on peut trouver des liens de jointures des liens qui représentent une appartenance...pour moi ces liens sont des sous classes de la classe mère Lien. Je réfléchit de cette façon parce que :
ma matrice comporte des objets instances de ces deux classes filles donc possèdent des instances de différents types. Par contre, un vector contient des objets de même type et pour que je puisse utiliser vector j'utlise l'héritage.
Marsh Posté le 31-03-2013 à 19:34:23
Bonjour à tous,
J'ai besoin de coder un graphe avec une matrice.
J'ai deux classes Noeud.h et Lien.h
Les cases de la matrice correspondent à des objets de type Lien. Chaque case correspond donc à un lien entre deux nœuds.
Pour ce faire, j'ai essayé avec tab des pointeurs Lien ** tab mais j'arrive pas à terminer cet essai car je ne connais pas le nombre de lignes et de colonnes. En fait, ces nombres correspondent au nombre des nœuds dans le graphe qui est n'est pas stable. Donc, est ce que je peux utiliser vector< vector<Arc> > pour résoudre ce problème.
Le code de la classe Graphe que je veux le modifier s'il ne convient pas.
Remarque :
je suis entrain de coder un problème d'optimisation ou le temps d'exécution est indispensable.
Merci d'avance.