zoukankan      html  css  js  c++  java
  • 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 待续。。。
  • 相关阅读:
    jenkins插件开发
    常用模块-------hashlib (加密模块)
    树莓派在任意无线网下连接笔记本(借用笔记本屏幕)
    常用模块-------时间模块(time/datetime),随机数模块(random)
    pycharm常用的快捷方式及设置
    迭代器
    生成器
    获取行业和概念列表
    钉钉页面扫码登录中hmac加密签名
    获取钉钉开发access_token
  • 原文地址:https://www.cnblogs.com/panda-w/p/11356243.html
Copyright © 2011-2022 走看看