数据转换
#include <iostream>
using namespace std;
class MyClass {
public:
MyClass(int i){
id=i;
}
void disp(){
cout<< "MyClass:id=" << id << endl;
}
int* getThis(){
//return this; // error: cannot convert ‘MyClass* const’ to ‘int*’ in return
return (int*)this;
}
private:
int id;
};
int main() {
MyClass a(1);
//int * p = &a; // error: cannot convert ‘MyClass*’ to ‘int*’ in initialization
int *p = a.getThis();
MyClass *pClass = (MyClass*)p;
pClass->disp(); // MyClass:id=1
return 0;
}