我不明白我在這裏提供的代碼中提到的兩行。爲什麼我需要使用int*
?我如何訪問私有變量?我不確定我在做這兩行。請詳細解釋。C++中指針類型轉換的解釋
有問題的線路:
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」不會被改變。 – Arkady