摘要: // fa.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"#include"test.txt"using namespace std;int main(){ void (*fun)(A*);//定义了一个函数指针,名字叫做fun,该函数有一个参数,是A*类型的。 A *p=new B;//向内存自由区申请一个内存单元地址,然后隐式保存在一个指针中,然后把这个地址赋给A类型的指针p。 long lVptrAddr;//待会儿用来保存vptr的值。 memcpy(& 阅读全文
posted @ 2013-09-16 14:32 呱呱老师 阅读(607) 评论(0) 推荐(0)
摘要: // fa.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "iostream"using namespace std;class A{ //虚函数示例代码,实例对象里只有vptr指针public: virtual void fun(){cout(lVptrAddr),4);//取出vtbl第一个slot里的内容,并存放在函数指针fun里。 //需要注意的是lVptrAddr里面是vtbl的地址,但lVptrAddr不是指针,所以我们要把它先转变成指针类型 fun(p);//这里就调用了刚才取出的函数地 阅读全文
posted @ 2013-09-16 13:52 呱呱老师 阅读(337) 评论(0) 推荐(0)