zoukankan      html  css  js  c++  java
  • C++: member function pointer for SomeClass

    #include <stdio.h>

    class SomeClass {
     public:
         void some_member_func(int x, char *p) {
           printf("In SomeClass"); };
    };

    class DerivedClass : public SomeClass {
     public:
     // If you uncomment the next line, the code at line (*) will fail!

    //     void some_member_func(int x, char *p) { printf("In DerivedClass"); };

    };

    int main() {
        // Declare a member function pointer for SomeClass

        typedef void (SomeClass::*SomeClassMFP)(int, char *);
        SomeClassMFP my_memfunc_ptr;
        my_memfunc_ptr = &DerivedClass::some_member_func; // ---- line (*)

        DerivedClass *dc;
        dc->*my_memfunc_ptr(1,"");
    }

    #include <stdio.h>

    struct X {
      int foo() { return 0; }
    } x;

    struct Y
    {  
        static int (X::*p)();
    };

    int (X::*Y::p)()=&X::foo;

    int main(int argc, char *argv[])
    {
        printf("Hello, world\n");
        
        (x.*Y::p)();
        // (x->*Y::p)();
        // (Y::p)(x);
        // (Y::x.*p)();
        // (x.Y::p)();  


        return 0;
    }
     

  • 相关阅读:
    CDN 机制
    canvas绘制旋转图形
    前端资源网站
    css中的em用法
    响应式网页设计【转载】
    闭包与非闭包
    跨域文档之间的访问
    ajax跨域之---服务器端代理实现
    jsonp跨域实现
    freemarker 命名空间
  • 原文地址:https://www.cnblogs.com/cutepig/p/1956804.html
Copyright © 2011-2022 走看看