Probleme fonction amies
Résolu
chevalier_25
-
azureus33 Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
azureus33 Messages postés 49 Date d'inscription Statut Membre Dernière intervention -
salut,
jai deux classe :
la classe matrice :
___________________________________________________________________________________________
class Matrice
{
float Matri[3][3];
float result[3];
public:
Matrice(float*,float*,float *);
void afficher();
Vecteur MprV(Matrice,vecteur); //Erreur :Declaration syntaxe erreur
};
Matrice :: Matrice(float t0[3],float t1[3],float t2[3]){
for(int i=0;i<3;i++){
Matri[0][i]=t0[i];
Matri[1][i]=t1[i];
Matri[2][i]=t2[i];
}
}
....
...
..
.
Vecteur Matrice :: MprV(Matrice m,vecteur vt){
for(int i=0;i<3;i++){
result[i]=(m.Matri[i][0]*vt.v[0])+(m.Matri[i][1]*vt.v[1])+(m.Matri[i][2]*vt.v[2]);
}
return vecteur(result[0],result[1],result[2]);
}
___________________________________________________________________________________________
et la classe Vecteur
___________________________________________________________________________________________
class vecteur
{
float v[3] ;
public:
vecteur();
vecteur(float,float,float);
~ vecteur();
void afficher();
friend vecteur Matrice :: MprV(Matrice m,vecteur vt);
};
............
.......
....
___________________________________________________________________________________________
fichier Main.h
#include<iostream.h>
#include<conio.h>
#include"Matrice.h"
#include"vecteur.h"
void main(){
..........
......
....
}
le probleme c'est que j'ai toujours des erreur apres avoir ajouter cette fonction amie (MprV)
jai deux classe :
la classe matrice :
___________________________________________________________________________________________
class Matrice
{
float Matri[3][3];
float result[3];
public:
Matrice(float*,float*,float *);
void afficher();
Vecteur MprV(Matrice,vecteur); //Erreur :Declaration syntaxe erreur
};
Matrice :: Matrice(float t0[3],float t1[3],float t2[3]){
for(int i=0;i<3;i++){
Matri[0][i]=t0[i];
Matri[1][i]=t1[i];
Matri[2][i]=t2[i];
}
}
....
...
..
.
Vecteur Matrice :: MprV(Matrice m,vecteur vt){
for(int i=0;i<3;i++){
result[i]=(m.Matri[i][0]*vt.v[0])+(m.Matri[i][1]*vt.v[1])+(m.Matri[i][2]*vt.v[2]);
}
return vecteur(result[0],result[1],result[2]);
}
___________________________________________________________________________________________
et la classe Vecteur
___________________________________________________________________________________________
class vecteur
{
float v[3] ;
public:
vecteur();
vecteur(float,float,float);
~ vecteur();
void afficher();
friend vecteur Matrice :: MprV(Matrice m,vecteur vt);
};
............
.......
....
___________________________________________________________________________________________
fichier Main.h
#include<iostream.h>
#include<conio.h>
#include"Matrice.h"
#include"vecteur.h"
void main(){
..........
......
....
}
le probleme c'est que j'ai toujours des erreur apres avoir ajouter cette fonction amie (MprV)
A voir également:
- Probleme fonction amies
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
3 réponses
Je pense que un :
friend class Matrice ; au lieu et place de la fonction friend vecteur Matrice::........... ;
seras mieux, si tu veut utilisé les variables private de la class vecteur dans la class Matrice ;
friend class Matrice ; au lieu et place de la fonction friend vecteur Matrice::........... ;
seras mieux, si tu veut utilisé les variables private de la class vecteur dans la class Matrice ;
pardons
je veut dire que je suis obliger d'utiliser une fonction membre de la classe matrice amie de la classe vecteur (c'est une partie d'un exercice)
je veut dire que je suis obliger d'utiliser une fonction membre de la classe matrice amie de la classe vecteur (c'est une partie d'un exercice)
Le mieux c'est de lire cette page est selon moi très claire :
http://arcad.essi.fr/cours/langage/cpp/x2998.html
tu comprendras par rapport à tes contraintes se que tu doit faire.
Faire un friend d'un fonction d'une autre classe c'est comme tu la vu pas correct.
On peut devenir ami avec une classe ou un fonction. Mais pas avec une fonction de class, (en effet quand tu as un ami tu est ami avec les personne entière pas seulement sa main ou son pied :)
http://arcad.essi.fr/cours/langage/cpp/x2998.html
tu comprendras par rapport à tes contraintes se que tu doit faire.
Faire un friend d'un fonction d'une autre classe c'est comme tu la vu pas correct.
On peut devenir ami avec une classe ou un fonction. Mais pas avec une fonction de class, (en effet quand tu as un ami tu est ami avec les personne entière pas seulement sa main ou son pied :)