Télécharger le zip
si j'ai bien compris, la classe Vecteur renfer un tableau de n valeurs de type double.dans le cas, il faut déclarer ligne comme ceci :double *ligne;dans le constructeur faire :ligne = new double[n];dans le destructeur:delete[] ligne;de plus évite d'avoir le même nom pour un typedef et une variable:typedef double *ligne;ligne *ligne;ça n'aide en rien an la compréhension
ok, merci
tu devrai rendre ta classe canonique, en rajoutant l'operateur = pour securiser tout ca et tant que tu y est rajoute aussi les operateur de comparaison == et != qui sont facile a definire aussi peut etre += -= *= /=bonne chance
ouai j'en vais m'y mettre. merci.
tes opéros devraient renvoyer une référence (Vecteur&), ça épargenra de la place ds la pile ;-)
peut tu m'expliquer plus en détail stp ? merci.
Ben, la valeur de retour des tes surcharges d'opérateurs, je te suggère de remplacer l'actuel "vecteur" par "vecteru&". Cela ne demande aucune modification du code, mais au lieu de renvoyer un objet complet (avec ttes ses propriétés etc...) la fonction renverra une adresse mémoire vers le nouvel objet. De cette manière, tu évites de surcharger la pile du programme avec plein de données: il n'y a que l'équivalent d'un int (4 octets sur une architecture 32 bits, peu importe) qui est stocké.
ah ok le transmettre par adresse ! t'as raison c'est vrai que sa peut être lourd comme struture.
Aussi pr la multiplication, tu peux tt à fait utiliser l'opérateur * pour un scalaire et pour un vecteur: c'est une surcharge tt à fait classique. Après, pour le produit vectoriel qui retourne un scalaire tu peux utiliser un autre opéro comme ^ par exemple, c'est une bonne idée, puisque tu ne peux pas surcharger la valeur de retour si les arguments de la fonction sont les mêmes.
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte
1 903 486 membres 65 nouveaux aujourd'hui 16 195 membres club