baidut
11/12/2014 - 10:40 AM

数据转换

数据转换

#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;
}