zoukankan      html  css  js  c++  java
  • 类函数成员指针

    // The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt
    
    /*
        This is an example illustrating the use of the member_function_pointer object 
        from the dlib C++ Library.
    
    */
    
    
    #include <iostream>
    #include <dlib/member_function_pointer.h>
    
    using namespace dlib;
    using namespace std;
    
    // ----------------------------------------------------------------------------------------
    
    class example_object 
    {
    public:
    
        void do_something (
        )
        {
            cout << "hello world" << endl;
        }
    
        void print_this_number (
            int num
        )
        {
            cout << "number you gave me = " << num << endl;
        }
    
    };
    
    // ----------------------------------------------------------------------------------------
    
    int main()
    {
        // create a pointer that can point to member functions that take no arguments
        member_function_pointer<> mfp1;
    
        // create a pointer that can point to member functions that take a single int argument
        member_function_pointer<int> mfp2;
    
        example_object obj;
    
        // now we set the mfp1 pointer to point to the member function do_something() 
        // on the obj object.
        mfp1.set(obj, &example_object::do_something);
    
    
        // now we set the mfp1 pointer to point to the member function print_this_number() 
        // on the obj object.
        mfp2.set(obj, &example_object::print_this_number);
    
    
        // Now we can call the function this pointer points to.  This calls the function
        // obj.do_something() via our member function pointer.
        mfp1();
    
        // Now we can call the function this pointer points to.  This calls the function
        // obj.print_this_number(5) via our member function pointer.
        mfp2(5);
    
    
        // The above example shows a very simple use of the member_function_pointer. 
        // A more interesting use of the member_function_pointer is in the implementation
        // of callbacks or event handlers.  For example, when you register an event
        // handler for a dlib::button click it uses a member_function_pointer 
        // internally to save and later call your event handler.  
    }
    
    // ----------------------------------------------------------------------------------------
    
    
    
    
  • 相关阅读:
    发布一个扩展Repeater的模板控件,带自动分页功能
    webservice 测试窗体只能用于来自本地计算机的请求
    FCKeditor编辑器中设置默认文本行高和字体大小
    程序员的个人性格
    程序设计模式的有趣解释-追MM
    集锦一
    UML简介(原创)
    一位IT从业人员的心路历程
    一个初级测试工程师的工作总结
    "与熊共舞"(转载)
  • 原文地址:https://www.cnblogs.com/yuliyang/p/4530522.html
Copyright © 2011-2022 走看看