zoukankan      html  css  js  c++  java
  • 类的成员函数指针的使用方法

    函数指针主要的目的是实现与运用相互分离,类的成员函数封装在类里面,运行需要相应的对象来调用,所以在调用这个类的成员函数时候,需要类的函数地址和这个类的对象。

        以下是实现的类:

        class A
        {
        public:
    void DoSth()
    {
    printf("A-DoSth");
    }
        };

       以下是调用的类:

        typedef void (A::*PFun)(void);//声明类的函数指针


        class B
        {
        public:
         B(void):pA(NULL),pFun(NULL)
         {  
         }


       ~B(void)

               {

               }

      void SetAddr(A* pA,PFun pAddr)
      {
      this->pA = pA;
      pFun = pAddr;
      }


      void RunFun()
              {
    if(pA&&pFun)
     (pA->*pFun)();
      }
       private:
    A* pA;
    PFun pFun;
       };

      

    以下是综合使用部分:

            A a;
    B b;

           PFun pAddr = &A::DoSth;//类的成员函数地址

           b.SetAddr(&a,pAddr);

           b.RunFun();

    总结:

    使用函数指针多数在多线程里。

    参考:

    高质量程序设计指南-C++/C 语言

  • 相关阅读:
    tableau用户留存分析
    tableau用户分类
    业务
    数据分析的思维技巧-二
    数据分析的思维技巧
    业务化思维
    公式化思维
    结构化思维
    Shortest Unsorted Continuous Subarray
    Longest Harmonious Subsequence
  • 原文地址:https://www.cnblogs.com/lidabo/p/6639445.html
Copyright © 2011-2022 走看看