begin process at 2012 05 30 04:39:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

surcharges des operators


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

surcharges des operators

mardi 23 décembre 2008 à 15:34:40 | surcharges des operators

leroiloup

salut a tout j'ais un probleme d'implementer les deux operator (operator+, operator*) et comment l'etuliser dans main()



#include <iostream>
#include<conio.h>
using namespace std;

class Matrice
{
int li,co;
int **mat;
public:
Matrice(const int&,const int&,const int&);
~Matrice(){};
int Getli(){return li;}
int Getco(){return co;}
void Setel(const int i,const int j ,const int el)
{
mat[i][j]=el;
}
int Getel(int i,int j )const{ return mat[i][j]; }
void LireMat();
void AffMat();
Matrice operator +(const Matrice&);
Matrice operator *(const Matrice&);
};
Matrice::Matrice(const int &n=3,const int &m=3,const int &init=0)
{
li=n; co=m;
mat = new int *[n];
int i,j;
for(i=0;i<li;i++)
mat[i]=new int[co];
for(i=0;i<li;i++)
for(j=0;j<co;j++)
mat[i][j]=init;
}
void Matrice::AffMat()
{
int i,j;
for(i=0;i<li;i++)
for(j=0;j<co;j++)
cout<<"Mat["<<i+1<<"]["<<j+1<<"] est "<<mat[i][j]<<endl;
}
void Matrice::LireMat()
{
int i,j,el;
mat =new int *[co];
for(i=0;i<co;i++)
mat[i]=new int[co];
for(i=0;i<co;i++)
for(j=0;j<li;j++)
{
cout<<"donner t["<<i+1<<"]["<<j+1<<"]"<<endl;
cin>>el;
mat[i][j]=el;
}
}
int main()
{
Matrice A;
A.LireMat();
A.AffMat();
getch();
return 0;
}
lundi 29 décembre 2008 à 01:01:54 | Re : surcharges des operators

lglandeur

Bonjour, je te conseille de surchargé d'abord l'opérateur =, aussi en plus des opérateur +, et * car comme cela tu pourras faire des opération basique avec tes matrices du style A = B + C.

Ensuite pour la surcharge des opérateurs +, et * personnellement j'utiliserais des fonctions amie.


class Matrice
{
    ...
    friend Matrice operator+(const Matrice &, const Matrice &);
    friend Matrice operator*(const Matrice &, const Matrice &);
}

Matrice operator+(const Matrice &M1, const Matrice &M2)
{
    Matrice M(M1.Getli(), M1.Getco());
    if((M1.Getli() == M2.Getli()) && (M1.Getco() == M2.Getco()))
    {
        // ton code pour l'addition des matrices a enregistrer dans la matrice M
    }
    return M;
}

// la surchage de l'operateur * se fait sur le même principe.


j'espère avoir était assez clair.



Cette discussion est classée dans : int, const, for, matrice, mat


Répondre à ce message

Sujets en rapport avec ce message

matrice de caractere en c [ par flofloo ] slt tout le monde voici mon probleme : char **Init_Matrice_IrcMSG(int ligne,int colone){     char **mat = NULL;     int i;     mat = class matrice [ par ciaonataha ] J'ai ecrit le programme classe matrice...mais j'ai les error comme:"matrice.cpp:269: error: no match for 'operator=' in 'b = matrice::Mat_decomposer(a Une matrice est-elle transitive ? [ par 69Vincent ] Bonjour. Tout d'abord enchanté d'être sur le forum! Je suis un étudiant à l'IUT A de Lyon et j'ai quelques petits problème en C. Voilà le problème : O Allocation dynamique d'une matricec [ par djou45 ] Bonjour, Je suis débutant en C, et j'ai un problème avec ce programme ci dessous. Je pense que le problème est dans cette partie: [code=cpp] matrice Produit matriciel en c renvoit des valeurs complètement fausses [ par bilel59 ] Bonjout à tous, je sollicite votre aide pour la raison indiquée dans le titre, en effet le produif matriciel que j'effectue renvoit des valeurs vraime Programmation C++ [ par laurentdav ] Bonjour,Je suis actuellement un peu perdu. Je dois inverser une matrice en utilisant GMRES, gradient pour les matrices non inversibles. Mon code sembl coordonnées d'une matrice [ par sidra12 ] bonjour tt le monde j'ai un probleme dans mon code qui consiste à relever le vecteur de mouvement entre deux blocs de pixels donc l'aider j'ai considé


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales