当前位置: 首页 > news >正文

【C++学习】函数指针

#include<iostream> //包含头文件
using namespace std; 
void func(int no, string str){cout << "亲爱的"<< no << "号:" << str << endl;
}int main(){int bh = 3;string message = "我是一只傻傻鸟";func(bh, message);void(*pfunc)(int,string); //声明函数的函数指针pfunc = func;pfunc(bh,message); // c++的方式 用函数指针名调用函数。void(*pfunc1)(int,string) = func; pfunc1(bh,message); (*pfunc)(bh,message); //用函数指针名调用函数,C语言
}

函数指针的应用场景,主要是用于回调,用个函数指针,调用方自己实现函数的内容,但调用方式和入参由自己定义。

#include<iostream> //包含头文件
using namespace std; 
void func(int no, string str){cout << "亲爱的"<< no << "号:" << str << endl;
}void ls(){cout << "我是ls的表白方式:" << "对你爱爱爱不完" << endl;
}void zs(){cout << "我是zs的表白方式:" << "他一定很爱你" << endl;
}void ls(int a){cout << "我是ls的表白方式:" << "对你爱爱爱不完:" << a << endl;
}void zs(int a){cout << "我是zs的表白方式:" << "他一定很爱你:" << a << endl;
}
void show(void(*pf)()){cout << "表白之前的准备工作完成。\n";pf();cout << "表白之后的收尾工作已完成。\n";
}void show(void(*pf)(int),int a){cout << "表白之前的准备工作完成。\n";pf(a);cout << "表白之后的收尾工作已完成。\n";
}
int main(){int bh = 3;string message = "我是一只傻傻鸟";func(bh, message);void(*pfunc)(int,string); //声明函数的函数指针pfunc = func;pfunc(bh,message); // c++的方式 用函数指针名调用函数。void(*pfunc1)(int,string) = func; pfunc1(bh,message); (*pfunc)(bh,message); //用函数指针名调用函数,C语言cout << "===============" << endl;// 不传参的方式show(ls); //李四要表白show(zs); // 张三要表白// 传参的方式cout <<"-------------------"<< endl;show(ls,3);show(ls,4);
}
http://www.lryc.cn/news/149576.html

相关文章:

  • A. Copil Copac Draws Trees
  • D359周赛复盘:贪心解决求最小和问题⭐⭐+较为复杂的双层线性DP⭐⭐
  • python基础之miniConda管理器
  • C++算法 —— 分治(1)快排
  • 接口用例设计
  • Selenium超级详细的教程
  • 服务报network error错误
  • 【ES6】利用 Proxy实现函数名链式效果
  • hive部署
  • ip白名单之网段
  • PMP项目管理主要学习内容是什么?
  • 小米面试题——不用加减乘除计算两数之和
  • Mysql 日志管理 数据备份
  • Java小记-腾讯2020校招-后台-逛街
  • FFmpeg5.0源码阅读——FFmpeg大体框架
  • 【算法刷题之字符串篇】
  • js中forEach和map的区别:forEach不会改变原数组,而map会改变数组?错了错了
  • 深度对话:从底层看Sui设计理念及网络规模扩展
  • 2.单链表练习
  • Wordpress 安装插件和主题报错
  • Spring Cloud 2022.x版本使用gateway和nacos实现动态路由和负载均衡
  • CSS中如何隐藏元素但保留其占位空间(display:none vs visibility:hidden)?
  • 无涯教程-机器学习 - 数据可视化
  • springboot设置日志输出级别
  • buildAdmin的使用笔记
  • RealVNC配置自定义分辨率(AlmaLinux 8)
  • LA@特征值和特征向量的性质
  • Springboot使用kafka事务-生产者方
  • 您的计算机已被.halo勒索病毒感染?恢复您的数据的方法在这里!
  • 生成式AI颠覆传统数据库的十种方式