/** \brief Ce fichier doit contenir la dclaration de la classe Vecteur Attention, elle ne doit contenir aucune implmentation de mthode / fonction */ #ifndef _Vecteur_H #define _Vecteur_H class Vecteur { private : float * coordonnees; unsigned int dimension; public : /** * Constructeur créant un vecteur de nDim dimensions avec toutes les coordonnées à val * @param nDim : nombre de dimensions * @param val : valeur à affecter à toutes les coordonnées * */ Vecteur(unsigned int nDim = 3 , float val = 0.0); /** * Constructeur de copie * Crée une copie de l'objet passé en paramètre * */ Vecteur(const Vecteur & v); /** * Destructeur * */ ~Vecteur(); /** * Méthode permettant d'obtenir la valeur d'une coordonnée * @param ind : indice de la dimension dans laquelle on souhaite obtenir la coordonnée * @return : valeur de la coordonnée * */ float get(unsigned int ind) const; /** * Méthode permettant de modifier la valeur d'une coordonnée * @param ind : indice de la dimension dans laquelle on souhaite modifier la coordonnée * */ void set(unsigned int ind, float val); /** * Méthode permettant de connaitre le nombre de dimensions du vecteur * @return : Nombre de dimensions du Vecteur * */ unsigned int dimensions() const; /** * Fonction initialisant un vecteur avec des caractéristiques fournies par l'utilisateur * @return : pointeur vers le Vecteur initialisé * */ static Vecteur * lireVecteur(); /** * Fonction permettant d'ajouter 2 vecteurs * @param v1 : premier vecteur * @param v2 : second vecteur à ajouter au premier * @return : nouveau vecteur contenant la somme de v1 et v2 * */ static Vecteur add(const Vecteur * v1, const Vecteur * v2); }; /** * Fonction permettant l'affichage d'un vecteur * @param v : pointeur vers le vecteur à afficher * */ void afficherVecteur(const Vecteur * v); #endif