函数指针的应用学习Demo

学习函数指针的应用 ,简单demo

#include "stdafx.h"
#include "SubClass.h";

//函数指针
typedef int (*Operation)(int a,int b);//定义int 类型函数指针
typedef struct _str{
	int result;
	Operation opt;
} STR;

//a和b相加
int Add (int a, int b){
    return a + b ;
}

//a和b相乘
int Multi (int a, int b){
    return a * b ;
}

int _tmain(int argc, _TCHAR* argv[])
{
	STR str;
	str.opt=Add;
	str.result=str.opt(5,3);
	cout<<"5+3="<<str.result<<endl;

	str.opt=Multi;
	str.result=str.opt(5,3);
	cout<<"5*3="<<str.result<<endl;

	return 0;
}

  

时间: 2024-12-14 17:02:05

函数指针的应用学习Demo的相关文章

c语言的函数指针和函数指针数组的简单demo

今天,简单记录一下,函数指针和函数指针数组的使用,废话不多说,直接贴上代码,里面有详细的注释,方便以后查阅. 1 #include <cstdio> 2 #include <Windows.h> 3 4 typedef void(*myFun)(const char*);//这里定义的一个函数类型(返回值为void,参数为const char*),类型名为myFun,使用见第28行 5 6 void(*func)(const char* name); //声明了一个函数指针,指针名

函数指针的一个的demo

#include <stdio.h> typedef void (*fun_cb)(int a, int b); static fun_cb exe_fun_cb; void fun_cb_input(int, int); void setUp_cb(fun_cb); void main() { setUp_cb(fun_cb_input); } void setUp_cb(fun_cb fun_cb_param) { printf("\n ready to use callback

C/C++学习:函数指针

曾经在书上看到函数指针相关的都没怎么重视.可是近期在实际的工作中却派上了用场.所以认真地学习了一遍. 函数指针的申明 申明一个函数指针非常easy,就是将函数申明中的函数名替换为一个指针就可以: C/C++ int test(int para1, double *para2); // 函数申明 int (*pf)(int para1, double *para2); // 函数指针申明 NOTE: 必须在申明中用括号将*pf括起来,由于括号的优先级比*运算符高.因此: C/C++ int (*p

C++学习笔记之函数指针

与数据项类似,函数也有地址.函数的地址是存储其机器语言代码的内存开始的地方. 一.函数指针的基础知识 假设要设计一个名为estimate()的函数,估算编写指定行数代码所需时间,并且希望不同的程序员都使用该函数,并且该函数允许每个程序员提供自己的算法来估计时间.为实现这种目标,采用的机制是,将程序员要使用的算法函数地址传给estimate(),必须完成以下工作: 获取函数地址 声明一个函数指针 用函数指针来调用函数 1.获取函数地址 使用函数名(后面不跟参数)即可.如:think()是一个函数,

C++学习之成员函数指针

C++中有函数指针,申明方式如下: void(*p)(float) 其中p就是一个函数指针,如果我们定义一个函数 void fun(float) 那么我们可以p = fun 或者p = &fun来给p赋值 于此同时还有一个概念叫做成员函数指针,这个指针和函数指针类似,所不同的是它是一个指向类的成员函数的指针,其声名方式如下: void (class_name::*p)(float) 这就代表p是一个指向class_name类中形如void fun_name(float)的函数的函数指针 赋值的方

C++学习基础十七-- 函数指针

C++常用的函数指针 语法:返回值类型 (*函数名)(参数列表); 举例说明:int (*Func)(int m, int n); 用typedef简化函数指针的定义 例如: 1 typedef int (*Func)(int m, int n); 函数指针的初始化和赋值 1 // 1. 先声明对应函数指针类型的函数 2 int max(int num1, int num2) 3 { 4 return num1 > num2 ? num1 : num2; 5 } 6 7 //2. 初始化 8 F

日常之学习CSS3变形和js函数指针

1,transform变形属性,包括rotate(xxdeg)旋转,translate(x轴px,y轴px)移动,scale(0.5,2)变形(x轴缩小0.5倍,y轴放大2倍),skew(x轴deg,y轴deg)拉伸, 拉伸透视图: 2,transtion过渡属性,保证变形平滑进行. 函数指针: function fun(){ return 5}var a=funvar b=fun() JS中我们把以上代码加粗的部分叫做函数,函数是一种叫做function引用类型的实例,因此函数是一个对象.对象

C语言学习019:函数指针

在C语言中,函数名也是指针变量,比如创建了一个add(int n,int m)的函数的同时也创建了一个名为add的指针变量,因此我们可以把函数指针当作一种类型为它赋值.当作参数传递等操作 C语言创建函数指针的公式: 返回类型 (*指针变量)(参数类型) 1 #include <stdio.h> 2 3 int add(int n,int m){ 4 return n+m; 5 } 6 7 int sub(int n,int m){ 8 return n-m; 9 } 10 11 int mai

《C++ Primer》学习 之 函数指针相关用法

/* 函数指针相关用法*/ 1 #define _CRT_SECURE_NO_WARNINGS 2 #define HOME 3 //#define NDEBUG 4 #include <iostream> 5 #include <stdexcept> 6 #include <cassert> 7 #include <ctype.h> 8 #include <locale> 9 #include <iterator> 10 #incl