類成員作為執行緒入口函式

2021-09-08 22:56:15 字數 925 閱讀 8042

把類成員函式宣告為友元函式。函式實現在類外實現。一定要這樣。不然用其他奇葩少見的方法獲取類成員函式的位址,會造成不可預料的後果。

執行緒入口函式的上下文引數傳入this指標,以便訪問類的proteted和private成員。

以下是示例**:

1

: 定義控制台應用程式的入口點。

23 #include"

stdafx.h"4

5 #include

67 #include8

9 #include10

11using

namespace

std;

1213

class

student

1415

3031

friend uint winapiprintinfo(lpvoid pvparam);

3233

void

startup();

3435

3637

private:38

39handle m_handle;

4041

intage;

4243

string

name;

4445

};46

4748

49uint winapi printinfo (lpvoid pvparam)

5051

6465

return0;

6667}68

6970

71void

student::startup()

7273

7879

8081

int _tmain(int argc, _tchar*ar**)

8283

references:

系統級 執行緒入口函式作為類成員

由於類的成員函式在編譯時會預設含有本類的this引數,這與執行緒函式要求的有且僅有乙個void 引數不符,因此需要將作為類成員的執行緒入口函式宣告為static,因為static成員函式沒有預設的this指標。但static成員函式又不能操作類的非static成員變數,故需要將this指標顯示地傳給...

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

include windows.h include class exampletask void exampletask taskmain lpvoid param void exampletask starttask int main int argc,char argv 出現編譯錯誤 error...

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

黙 座 類成員函式作為執行緒函式 2011 01 10 14 54 43 分類 windows 字型大小 訂閱 類成員函式不能作為執行緒函式 一般來說,c 的類成員函式不能作為執行緒函式。這是因為在類中定義的成員函式,編譯器會給其加 上this指標。請看下列程式 include windows.h ...