函数指针调用普通函数 

#include<iostream>using namespace std;void Show()//void(*)()
{cout << "void _cdecl Show()" << endl;
}typedef void(*PFUNC)();//类型重定义  函数指针int main()
{cout << typeid(&Show).name()<< endl;PFUNC func = &Show;//func变量(*func)();//函数指针调用Showreturn 0;
}

打印结果:

由void (__cdecl*)(void) 可知其类型

typedef void(*PFUNC)(); //类型重定义  PFUNC为函数指针

同理,函数指针调用类方法

#include<iostream>using namespace std;class CShow
{
public:void Show(){cout << "void _thiscall Show()" << endl;}
};typedef void(CShow::*CPPFUNC)();int main()
{CShow show;cout << typeid(&CShow::Show).name() << endl;CPPFUNC cppfunc = &CShow::Show;//cppfunc变量(show.*cppfunc)();//函数指针调用Showreturn 0;
}

打印结果:

这里需要注意的是,类成员方法需依赖于对象的调用,所以需  CShow show; 先生成一个对象。

注意: .* 运算符  会出现在函数指针调用类成员方法时。

当然,也会有 ->*运算符,也会出现在函数指针调用类成员方法时。

int main()
{CShow* pshow = new CShow();cout << typeid(&CShow::Show).name() << endl;CPPFUNC cppfunc = &CShow::Show;//cppfunc变量(pshow->*cppfunc)();return 0;
}

C++:函数指针调用方法相关推荐

  1. C/C++ 函数指针调用函数

    01 //C/C++ 函数指针调用函数 02 #include<iostream> 03 using namespace std; 04   05 void site1() 06 { 07 ...

  2. 关于函数指针调用C++非静态成员

    当在类里面定义函数指针,而函数指针会指向类里面的成员的时候,这个时候成员需要定义为静态成员.实例代码如下: //.h #define SCMD_REGISTER 0 class CCallFuctio ...

  3. c语言学习-利用函数指针的方法,求任意给出两个整数的x和y的和、差。

    编写一个程序,利用函数指针的方法,求任意给出两个整数的x和y的和.差. 程序流程图: 代码: #include<stdio.h> void main() {int x,y,*m=& ...

  4. 第16周项目3--用函数指针调用函数(吃饭,睡觉,打豆豆)

    /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:2014 年 12 ...

  5. 类的成员函数指针和静态成员函数指针 调用成员函数***

    C++提供static这个关键词对静态成员进行声明,静态成员函数和类的实例化无关,对于同一类来说,静态成员函数是所有类的对象共享的.而普通成员函数需要实例化才能调用,对于每一个实例来说,普通成员函数是 ...

  6. 基于MATLAB的m序列产生函数及其调用方法

    m序列的定义### m序列是由n级线性移位寄存器产生的周期为 P=2n−1 P=2^n-1的码序列,是最长线性移位寄存器序列的简称. 关于m序列的基本生成原理网上介绍很多了,其主要步骤就是寄存器的移位 ...

  7. python 定义函数方法,python中函数如何定义?python函数的调用方法介绍

    本篇文章给大家带来的内容是关于python中函数如何定义?python函数的调用方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1. 函数的概念,函数是将具有独立功能的代码块 ...

  8. 如何用函数指针调用函数

    先举一个用函数指针调用函数的例子 int Func(int x); /*声明一个函数*/ int (*p) (int x); /*定义一个函数指针*/ p = Func; /*将Func函数的首地址赋 ...

  9. 通过函数名调用函数和通过函数指针调用函数有什么区别呢?为什么调用函数指针没有直接调用函数效率高?

     1.通过函数名调用函数和通过函数指针调用函数有什么区别呢? 首先函数名.函数指针都表示代码段的起始地址. 1)调用函数的时候必须指定函数名,可是当有时候不确定具体调用哪个函数,当某些事件发生后才 ...

最新文章

  1. c语言用define预处理命令定义,C语言程序设计第八章预处理命令..doc
  2. iOS_CNBlog项目开发 (基于博客园api开发) 上篇
  3. 排序第一天,回忆关键字
  4. JavaScript学习总结(13)——JavaScript常用正则表达式
  5. mysql+join+合计_图解MySQL里的各种 JOIN,看完不懂来找我!
  6. Windows下编译DCMTK
  7. Kali安装Googel拼音输入法
  8. C语言实现任何文件的加密解密
  9. gitLab私服-转帖记录
  10. [容斥 状压DP] Atcoder ARC093 F - Dark Horse
  11. WPF 视觉树和逻辑树区别,以及其子节点的遍历过程。
  12. Linux CentOS 7 下载安装
  13. win7修改默认锁屏背景
  14. ISO7816 智能卡 接口
  15. Centos查看端口及防火墙
  16. 前端开发:v-if和v-for的优先级详解
  17. The Singularity is Near---预测人工智能,科技走向的神书---奇点临近
  18. 科普文章-另一个视角解读计算机编码(修订版)【一个吊丝的个人理解】
  19. 零基础到入门React SSR
  20. 网络的几种分层体系结构

热门文章

  1. 安装batocera-linux教程_新的BATOCERA(巴托塞拉)安装方式和Windows共用硬盘双启动
  2. Amino-PEG8-alcohol,352439-37-3的化学性质分析
  3. html5第一人,5点证詹皇仍完压杜少坐稳第一人 死神万年老二或无翻身之日
  4. 计算机用鼠标画图,在电脑上用鼠标画画用那个软件好
  5. 面向对象编程--超市小票java
  6. 从民国时期小学生的两篇作文来看两位小作者的写作能力。
  7. python 基于Tkinter的姻缘测试器
  8. (西工程-金花)小米路由器连接哆点设置WiFi保姆式教程
  9. pid上限问题,linux进程pid达到最大值,linux进程数最大值修改方法
  10. macbook无法下载软件问题解决