bonjour

je m'entraine sur la surcharge des operateur+ , j'ai crée un petit programme pour 'mentrainer , il se trouveee que je n'arrive pas a faire quelque chose

exempleee j'ai objet 1+ objet 2 la c'est ok

mais si je fais 10 + objet la ça ne va plus

je vous donne mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.h :
 
#ifndef DEF_Pc
#define DEF_Pc
 
class Pc
{
    public:
 
    Pc(int ram = 0, int capacite = 0, int proc = 0);
    Pc operator+(const Pc &pc);
    void afficher();
 
    private:
 
    int m_ram;
    int m_capacite;
    int m_proc;
};
 
#endif
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 
pc:
 
#include <iostream>
#include "op.h"
 
using namespace std;
 
Pc::Pc(int ram, int capacite, int proc) : m_ram(ram), m_capacite(capacite), m_proc(proc)
{
}
 
Pc Pc::operator+(const Pc &pc)
{
    int ram = m_ram;
    int capacite = m_capacite;
    int proc = m_proc;
 
 
    proc += pc.m_proc; 
 
 
 
    capacite += pc.m_capacite;
 
 
    // 3 : ajout des heures
    ram += pc.m_ram;
 
    // Création de l'objet resultat et retour
    Pc resultat(ram,capacite,proc);
    return resultat;
}
 
void Pc::afficher()
{
    cout << m_ram << "ram " << m_capacite << "capacite " << m_proc << " processeur " << endl;
	cout<<endl;
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
main :
 
#include <iostream>
#include "op.h"
 
using namespace std;
 
int main()
{
    Pc pc1(2, 250, 29), pc2(2, 20, 70);
    Pc resultat;
 
    pc1.afficher();
 
    pc2.afficher();
 
    resultat = pc1 + pc2;
 
 
    resultat.afficher();
 
 
    return 0;
}


je souhaiterai donc faire 10 + pc2 par exemple , ( c'est juste pour savoirrr le faire car dans le prog ça sert pas a grand chose .

mrci pour votre aide