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.  
    }
    
    // ----------------------------------------------------------------------------------------
    
    
    
    
  • 相关阅读:
    nginx解决前端跨域配置
    oracle 空表处理
    (转)Oracle修改表空间为自动扩展
    使用silverlight自定义控件时“给定关键字不在字典中”
    arcengine note:
    Jquery CSS 操作
    Jquery Easy-UI 树形菜单的运用
    Easy-UI data-options总结
    数据库 存储过程初探
    ASP.NET 日志的记录(登录日志和异常日志和操作日志)
  • 原文地址:https://www.cnblogs.com/yuliyang/p/4530522.html
Copyright © 2011-2022 走看看