1.指针操作
#include <iostream>
using namespace std;
class object{
private:
int a;
int b;
public:
object(int _a,int _b):a(_a),b(_b){}
int get_a(){return a;}
int get_b(){return b;}
};
int main()
{
object obj(0,0);
cout<<"before changing:"<<"a: "<<obj.get_a()
<<" ,b: "<<obj.get_b()<<endl;
int* pa=reinterpret_cast<int*>(&obj);
int* pb=reinterpret_cast<int*>(&obj)+1;
*pa=1;
*pb=1;
cout<<" after changing:"<<"a: "<<obj.get_a()
<<" ,b: "<<obj.get_b()<<endl;
return 0;
}
2.#define操作
#include <iostream>
#define private public
using namespace std;
class object{
private:
int a;
int b;
public:
object(int _a,int _b):a(_a),b(_b){}
int get_a(){return a;}
int get_b(){return b;}
};
int main()
{
object obj(0,0);
cout<<"before changing:"<<"a: "<<obj.get_a()
<<" ,b: "<<obj.get_b()<<endl;
obj.a=1;
obj.b=1;
cout<<" after changing:"<<"a: "<<obj.get_a()
<<" ,b: "<<obj.get_b()<<endl;
return 0;
}