[linux,c++] 使用指针函数实现多个函数调用
来源:互联网 发布:比较好的java入门书籍 编辑:程序博客网 时间:2024/05/02 01:08
//g++ -o funcEntry funcEntry.hpp funcEntry.cpp
#include <iostream>#include <string>#include <map>#ifndef FUNCENTRY_HPP__#define FUNCENTRY_HPP__enum LEVEL_TYPE{LEVEL_SYSTEM = 0 ,LEVEL_PROGRAMMER ,LEVEL_ORDINARY} ;typedef int (*funcEntryPoint) ( char *) ; //define the pointer function ,we also name it the entry address of functionfuncEntryPoint getFuncEntryPointByType ( LEVEL_TYPE type ); //we send different enum type value ,and get target function entry int systemLevelEntryPoint ( char * ) ; //send LEVEL_SYSTEM ,get systemLevelEntryPoint function entry int programmerLevelEntryPoint ( char * ) ; //send LEVEL_PROGRAMMER ,get programmerLevelEntryPoint pointer function int ordinaryLevelEntryPoint ( char * ) ; //after getting function entry point , we can regard it as the function itself #endif
#include "funcEntry.hpp"using namespace std ;funcEntryPoint getFuncEntryPointByType ( LEVEL_TYPE type ){ switch ( type ) { case LEVEL_SYSTEM : return systemLevelEntryPoint ; case LEVEL_PROGRAMMER : return programmerLevelEntryPoint ; case LEVEL_ORDINARY: return ordinaryLevelEntryPoint ; default : cout<<"error type " ; return NULL ; }}int systemLevelEntryPoint ( char * line ){ cout<<" system "<<endl ; cout<<line<<endl ; return 0 ;}int programmerLevelEntryPoint ( char *line ){ cout<<"programmer"<<endl ; cout<<line<<endl ; return 0 ;}int ordinaryLevelEntryPoint ( char *line ){ cout<<"ordinary"<<endl ; cout<<line<<endl ; return 0 ;}int main ( int argc , char * argv[] ){ funcEntryPoint entryFunc ; entryFunc = getFuncEntryPointByType ( LEVEL_SYSTEM) ;//we get systemLevelEntryPoint function entry entryFunc("i am system level function !") ;//we use function entry just like use the method itself entryFunc = getFuncEntryPointByType ( LEVEL_PROGRAMMER ) ; entryFunc("i am programmer level function !") ; entryFunc = getFuncEntryPointByType ( LEVEL_ORDINARY ) ; entryFunc("i am ordinary user level function !") ; return 0 ;}
in the next section , we will implement a more complex function entry point test ,
on base of this
//coding me
0 0
- [linux,c++] 使用指针函数实现多个函数调用
- [linux,c++]使用指针函数实现多个函数调用_Advanced
- 多个函数使用函数指针
- linux C编程(五)函数指针与函数调用
- C语言调用函数指针
- C/C++ 函数指针调用函数
- C语言函数指针调用函数
- C/C++函数指针变量调用函数
- C语言结构体指针在函数调用中的使用
- [C++]C++ 函数指针 实现 函数名字符串 到 函数调用 cmath.h
- linux C 学习---函数指针
- linux C 学习---函数指针
- Linux C之函数指针
- C中的函数指针使用
- C中的函数指针使用
- C函数指针的使用
- C中的函数指针使用
- c 函数指针的使用
- 【并查集】【bzoj 1116】: [POI2008]CLO
- leetcode Count and Say
- Day10_c语言_高级指针练习
- 数组的内存管理
- 判断一个图片是不是伪造的方法
- [linux,c++] 使用指针函数实现多个函数调用
- Linux Lvs负载均衡集群技术(二)
- Android漏洞——将Android恶意代码隐藏在图片中
- 2015考研之十八届四中全会专项考点分析
- web项目开发处理乱码问题
- 到底什么是产品经理
- seo优化的一些简单的技巧
- Java HashMap实现机制
- block放入哪个hash bucket算法