• 类函数成员指针


    // 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.  
    }
    
    // ----------------------------------------------------------------------------------------
    
    
    
    
  • 相关阅读:
    弹出窗口的几种方法
    FCKeditor2.2+ASP.NET2.0不完全攻略
    如何运用 Form 表单认证 ?
    DataGrid的多种格式化显示方法
    如何显示在线人数,和所在位置?? [转自作者:子扬]
    备份和恢复Active Directory
    如何在vs.net里调试脚本 《一》
    初学ASP.Net时一些备忘的东西
    ASP.NET在线用户列表精确版——解决用户意外退出在线列表无法及时更新问题
    小技巧(一)分离字符串string str="(1,10,100,1000,10000,)";
  • 原文地址:https://www.cnblogs.com/yuliyang/p/4530522.html
Copyright © 2020-2023  润新知