c++函数指针
2015-12-16 21:18
417 查看
// CallBackFunc.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <list> #include <iostream> using namespace std; class TestA { public: typedef void (TestA::*FuncPtr) (); TestA() { m_listFuncs.push_back(&TestA::Func1); m_listFuncs.push_back(&TestA::Func3); m_listFuncs.push_back(&TestA::Func2); } void Func1() { cout << "这个是Func1" << endl; } void Func2() { cout << "这个是Func2" << endl; Func3(); } virtual void Func3() { cout << "这个是Func3" << endl; } void Exe() { while(m_listFuncs.size() > 0) { FuncPtr pFunc = m_listFuncs.front(); ((*this).*pFunc)(); m_listFuncs.pop_front(); } } private: std::list<FuncPtr> m_listFuncs; }; class TestB : public TestA { public: virtual void Func3() { cout << "TestB::Func3" << endl; } }; int _tmain(int argc, _TCHAR* argv[]) { TestA * pTemp = new TestB; pTemp->Exe(); system("pause"); return 0; }
执行结果:
函数指针指向的函数仍然遵循多态规则
相关文章推荐
- c或c++中int转float中在printf中的问题
- hdoj1002(A+B problem II 大数相加 c语言
- 实战c++中的vector系列--使用vector构造二维数组
- 实战c++中的vector系列--使用vector构造二维数组
- udp组播试验-C语言
- 十一、c语言算术优先级和口诀
- C语言 文件
- c语言指针-简要
- 蓝桥杯 算法训练 出现次数最多的整数
- C++ STL 的实现:
- C++11: function type
- C++11 新的计时方法——std::chrono 大法好
- 【C++基础03】C++对C的加强
- C++STL库list容器简单实现
- 留念 C语言第一课简单的计算器制作
- 留念 C语言第一课简单的计算器制作
- C++stringstream用法简介
- C++中几种测试程序运行时间的方法
- C++指针与Java引用的一处区别
- C语言二分朝找,拉格朗日朝找