c 中使用成員函式作為函式引數的方法

2021-05-21 22:00:42 字數 1162 閱讀 1467

總結有以下幾個辦法:

1.使用類的靜態成員:

最簡單的.只是這種辦法與使用普通函式沒有什麼區別

2.模板的方法

1    template

<

class

t>

2    

void

call(t

*  ptr,

void

(t::

* menfn)())   

3       

1  class

myclass2 

8  };9 

10  myclass cs;

11  call(

& cs,

& mycall::call);

3.  虛擬繼承的方法

1  class

base

2  ;    6 

7  class

subclass :

public

base8 

11  };

12   

13  void

call(base 

* ptr)

14   

4.use boost.

1<

boost

/ bind.hpp

>

2<

iostream

>

3namespace

std;   

4myclass   

5;11

12template

<

class

_fun

>

13void

callbackfun(_fun a,

const

char

*  str)   

1417

18int

main()   

1924

5.使用靜態成員函式或者聯合體模擬之

1  union

2  fn; 

6  fn.physicsthreadfun 

=  & particlesystem::physicsthreadfun;

7  thread_id 

=  createthread(fn.f,

& ps);

C 成員函式作為 執行緒函式

一般來說,用靜態函式是可以了.但是嘗試下用成員函式.呵呵.h檔案 cclientdlg 對話方塊 class cclientdlg public cdialog cpp檔案 beginthread 用,符合 cdecl call union proc beginthreadex 用,符合 stdca...

函式作為引數的使用

函式作為引數的使用,可以有 函式作為另乙個函式的引數,函式作為引數,函式作為含參函式。這.是什麼鬼?是不是被我說得有點暈?那就看看示例 來緩一緩?1.首先是函式作為另乙個函式的引數的使用,要注意的是fun2 m 的m與m 的m要一致,也就是不能不同。函式作為另乙個函式的引數 function fun...

C語言函式作為函式引數

為了滿足dry思想,減少 的重複性,考慮將函式作為引數傳入另一函式中。c語言是可以將函式作為函式引數的。用到的方法是函式指標。首先需要明確的是,在c語言中,函式名就是函式的首位址,所以將函式作為函式引數的思路是將函式位址傳入,形參是乙個指標型別的變數,形參的基型別為函式原型。引數原型為 elemty...