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 待续。。。
  • 相关阅读:
    HDU 1495 非常可乐
    ja
    Codeforces Good Bye 2016 E. New Year and Old Subsequence
    The 2019 Asia Nanchang First Round Online Programming Contest
    Educational Codeforces Round 72 (Rated for Div. 2)
    Codeforces Round #583 (Div. 1 + Div. 2, based on Olympiad of Metropolises)
    AtCoder Regular Contest 102
    AtCoder Regular Contest 103
    POJ1741 Tree(点分治)
    洛谷P2634 [国家集训队]聪聪可可(点分治)
  • 原文地址:https://www.cnblogs.com/panda-w/p/11356243.html
Copyright © 2011-2022 走看看