专栏中心

EEPW首页 > 专栏 > 指向成员函数指针的使用

指向成员函数指针的使用

发布人:0750long 时间:2009-06-06 来源:工程师 发布文章
指向成员函数指针的使用

 

利用周末时间,研究了一下C++中的,指向成员函数指针

定义了两个类一个base, 另一个是derive

class base
{
public:
 base(){;}
 ~base(){;}
     virtual void test(void)
 {
  printf("call test\n");
 }
};

class derive
: public base
{
public:
 derive(){;}
 ~derive(){;}
 void test(void)
 {
  printf("call der_class!\n");
 }
};

typedef void (base::*pM)(void);
typedef void (derive::*pMM)(void);

调用通过下面主函数:

int main()
{
 derive der;
 pM pm;
 pMM pmm;
 pm = &base::test;
 pmm = &derive::test;
 base *PT = &der;
 (PT->*pm)();
 (der.*pmm)();
  getchar();
 return(1);
}

//实际返回的结果都是调用了derive类的test函数。

为什么会这样? (PT->*pm)();因为pm所指的test是虚函数,所以

真正调用的是PT指向的test(),也就是derive::test().

如果去掉base::test()函数的virutal,实际调用就会是base::test()了。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

WPS Office 2007 个人版(2007.27419.0)

资源下载 2007-11-19

360安全卫士V3.7标准版

资源下载 2007-11-16

博通公司CCBN2011主要展品介绍

视频 2011-03-29

Trace32 在线培训

半导体行业下行周期预测

2026年5月PCB厂家推荐:五大排名榜产品评测应对高功率散热痛点

2026-05-08

用AI监控芯片与系统中的监测面板

EDA/PCB 2026-05-08

依托先进电力电子技术,打造面向未来的汽车产业生态

高速数据传输下连接器等的测试和分析

视频 2011-03-24

用FPGA实现FFT算法

资源下载 2007-11-19

创新推动了电压基准的技术发展水平

视频 2011-03-29

FAN5400电池充电器IC

雅虎天盾1.0

资源下载 2007-11-19

从构建软件到构建学习系统

30而立?

liujt_ic 2003-05-27

在AI快速迭代浪潮中进行芯片设计

EDA/PCB 2026-05-08

摩尔斯微电子选定Gateworks作为首个全球设计合作伙伴

精密高压供电标杆,赋能高端检测与科研设备 ——HO1-P(N)xxxxH系列

「小体积」撬动「高效率」:POL电源精准赋能老化测试

千千静听(5.0.1)

资源下载 2007-11-19

从小众架构走向战略基石的RISC‑V

更多 培训课堂
更多 焦点
更多 视频

技术专区