尝试提取c++类函数地址(1)
2016-03-10 18:39
423 查看
#include<iostream> using namespace std; class A{ public: void f(){ cout << "ordinary" << endl; } static void e(){ cout << "static" << endl; } int a; int b; static int c; static const int d = 100;//could assgined }; int main(){ A p; int *a = &p.a; int p1 = (int)a; cout << "memember:" << p1 << endl; int A::*p2 = &A::b; cout << "memember:" << p2 << endl;//1 typedef void (A::*pf)(); pf f = &A::f; cout << "function:" << f << endl; //1 (p.*f)(); typedef void (*pf1)();// pf1 f1 = &A::e; cout << "static function:" << (int)f1 << endl; void (*f3)();// f3 = A::e; f3(); cout << "static function:" << (int)f3 << endl; void (A::*f4)(); f4 = &A::f; (p.*f4)(); cout << "function:" << f4 << endl; /* pf f2 = p.f; cout << "function:" << f2 << endl;*/ f4 = &p.f; (p.*f4)(); return 0; }
C:\Users\jackz\Desktop\codes\cpp>g++ "&ClassPointer.cpp" C:\Users\jackz\Desktop\codes\cpp>a memember:2686692 memember:1 function:1 ordinary static function:4425512 static static function:4425512 ordinary function:1 ordinary
相关文章推荐
- 6.C语言之数组
- 在视频的左上角动态显示帧数、参看帧率
- C++ stl算法学习1
- C语言建立二叉数并遍历,求深度,求叶子数
- YUV420转RGB的代码(C++/JAVA)
- c++实验1-三个数求最大值
- CAF(C++ actor framework)(序列化之复杂类,分析 还有自己不懂的细思恐极函数实现)(三)
- static c++
- C语言之结构体
- C语言之数组
- C语言函数的学习
- C语言之基本运算和流程控制
- C语言流程控制续
- 默认参数的构造函数
- 默认参数的函数
- C++文件读写详解(ofstream,ifstream,fstream)
- 【C++探索之旅】第一部分第十课:文件读写,海阔凭鱼跃
- 【C++探索之旅】第一部分第十课:文件读写,海阔凭鱼跃
- C++运算符重载函数基础及其值返回状态
- C++完成一个大数类的+、-和输入、输出