關於類成員函式在模板中的使用

2021-06-29 05:20:56 字數 606 閱讀 6838

實際工作中模板使用還比較多,而且使用類成員函式或者變數作為模板引數的情況是很多的,在這裡先小小舉個例子。**非常簡單,但是在實際中確實非常常用,而且實用。

//我只是個測試類而已

class testclass

double testfunc2(double val)

public:

int m_testval;

};//也會用到的寫法,在不是模板的情況下還挺實用的

typedef void (testclass::*test_func)(int);

//不說boost,不談lambda,僅僅只提模板而已

//成員函式的情況

templatevoid test_call(_tp* obj, _ret (_tp::*_func)(_param), _param _p)

//成員變數,這個用的不多,主要是在imp下會用到

templatevoid test_member(_tp* obj, _param _tp::*value, _param _p)

int main(int argc, char *argv)

沒有多餘的解釋啦,**灰常簡單。

關於模板類中靜態成員

類模板例項化的每個模板類都有自己的類模板靜態資料成員,該模板類的所有物件共享乙個靜態資料成員。比如int的所有例項共享乙個靜態資料成員,char的所有例項共享乙個。下面來看個例子 include using namespace std template class testclass int tes...

在非類函式中如何使用類的成員

在不屬於類成員的函式中是不能直接使用類的成員函式的,可以有如下方法解決 1 傳遞類例項指標 這個方法簡單實用。如下 類ctestdlg的成員函式onbutton中呼叫了非類成員函式noclassfun,而在noclassfun又需要使用成員函式updatedata和成員變數m type,於是傳入類c...

類模板的成員函式

template class test private t age templatetest test templatetest test t value templatetest setage t agevalue age value templatet test getage templatet...