【发布时间】:2014-08-14 14:30:48
【问题描述】:
我不理解我在此处提供的代码中提到的以下两行。为什么我需要使用int*?我如何访问私有变量?我不确定我在用这两行做什么。请详细说明。
有问题的线路:
int *p = (int *) &s;
*p=10;
主代码:
#include <iostream>
using namespace std;
class sample {
private:
int a;
public:
void function () {
a=5;
}
void printA () {
cout<<"value is "<<a<<endl;
}
};
int main () {
sample s;
s.function();
s.printA();
int *p = (int *) &s;
*p=10;
s.printA();
}
【问题讨论】:
-
你只需简单地添加任何虚拟方法,在 VS 和 gcc "a" 不会改变。
标签: c++ class casting private encapsulation