C++_练习—函数指针与函数重载
函数指针与函数重载
成员函数与普通函数区别:
定义一个对象时,系统只为数据成员分配空间。那么对于类的成员函数而言,它如何知道函数中提到的数据成员是哪个对象的数据成员呢?……实际上,C++为每个成员函数设置了一个隐藏的指向本类型的指针形参this,它指向当前调用成员函数的对象。成员函数中对对象成员的访问时通过this指针实现的。……因此,当通过对象调用成员函数时,编译器会把相应对象的地址传给形参this。
1 /*重点:如果成员函数没有static,无法使用成员函数,因为存在this指针 2 由于静态成员函数没有this指针,使用可以使用函数指针!!! 3 */ 4 5 6 #include<iostream> 7 8 using namespace std; 9 10 class info { 11 public: 12 static void fun(int a); 13 static void fun(int a ,int b); 14 static void fun(int a, int b, int c); 15 private: 16 int age; 17 }; 18 19 20 void info::fun(int a) { 21 cout << a << endl; 22 } 23 24 void info::fun(int a, int b) { 25 cout << a << b << endl; 26 } 27 28 void info::fun(int a, int b, int c) { 29 cout << a << b << c << endl; 30 } 31 32 typedef void (pun)(int a, int b); 33 34 /* 函数指针定义三方法: 35 typedef void (pun)(int a, int b); 36 typedef void (*pun)(int a,int b); 37 void(*pun)(int a,int b); 38 */ 39 40 41 int main(void) 42 { 43 44 info info1; 45 46 pun * la = info1.fun; 47 48 la(3,4); 49 50 system("pause"); 51 52 return 0; 53 }
Stay hungry, stay foolish
待续。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!