#include<iostream>
using namespace std;
class A
{
int value;
public:
A(){value = 1;}
~A(){}
void print(){cout << value << endl;}
};
int main()
{
A a;
int* p = (int*)(&a);
*p = 20;
a.print();//output is 20.
}
Разве это не нарушает инкапсуляцию класса? Я новичок в С++. Я никогда не видел этот метод, который может получить доступ к частному члену класса в книге «С++ учебник».