Acces aux variables PRIVATE
Bonjour,
Après plusieurs recherches infructueuses je me suis décide à poser ma question ici.
C'est une question toute simple pour la plus part d'entre-vous a mon avis ;-)
Pourquoi le compilateur permet-il d’accéder a une variable membre privée alors que d’après moi il ne devrait pas ?
(indiqué par "<--ici" dans le "test.cpp")
Merci
Mon Main:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <iostream>
#include "test.h"
using namespace std;
int main()
{
test t1,t2;
t2.setVar1(3);
cout << "Affiche t1";
t1.affiche();
cout << "Affiche t2";
t2.affiche();
t2.methTest(t1);
cout << "Affiche t1";
t1.affiche();
return 0;
} |
Ma classe(h) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #ifndef TEST
#define TEST
#include <iostream>
using namespace std;
class test
{
private:
int _Var1;
public:
test();
int getVar1();
void setVar1(int v);
void methTest(test &t);
void affiche();
};
#endif |
Ma classe(cpp) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include "test.h"
test::test()
{
_Var1 = 10;
}
int test::getVar1()
{
return _Var1;
}
void test::setVar1(int v)
{
_Var1 = v;
}
void test::methTest(test &t)
{
t._Var1 = 3; //<-----------------------------------------ici
t.setVar1(3);
}
void test::affiche()
{
cout << endl << "_Var1 = " << _Var1 << endl;
} |