C 模版類如何動態獲取型別?

時間 2021-06-01 15:09:07

1樓:yc znone

類D不需要是模板:

classA;

class

Dtemplate

T>D(

A*object

,void(T

::*function

)())

:object_

(object

),function_

((Function

)function

)void

go()

};class

Avoid

setD

(constD&

d)void

run()

};classB:

public

Avoid

bbb()

};classC:

public

Avoid

ccc()

};int

main()

2樓:

我覺得題主你對模版理解有些偏差,在執行時,A中的d應當是型別確定的。

感覺你想做的應當是在執行時,由B型別的物件通知A的物件:「把我的方法綁到你身上吧,你需要使用我的方法來run()」, 所以我覺得使用繫結更合適:

#include

#include

#include

class TestClass // 這就是你的B型別;int main()

使用C++ 11的std::bind和std::function來實現。

C 在定義動態記憶體管理類時allocator型別成員的定義問題?

你在類裡只是宣告瞭一個靜態成員,它是未定義的,使用一個宣告瞭的但未定義的靜態成員變數,連結就會報錯,你需要在另一個地方定義一下那個靜態成員變數。class String 注意區分變數的宣告 declaration 與定義 definition 宣告 指明瞭變數的型別與名稱,定義 除了指明瞭變數的型別...

C 中 類的vector容器中如何通過類中的成員來查詢到含這個成員的類?不一定只有一個類含該元素?

黃亮anthony 題目很模糊,不確認題目的含義是否如此,我還是寫個答案吧,如果題主看到,請修改一下問題。成員找自己的類是指這樣的情況 struct A A some 10 int pa some 2 a A pA A char pa offsetof A,a offsetof的原理大體為這樣 ch...

如何用c 實現連結串列類的操作?

include template T class Node template T class List 預設建構函式 template T List List 拷貝建構函式 template T List List const List ln tail next nullptr 向連結串列新增資料 ...

C 中如何由一個指向派生類物件的基類指標克隆一個相同的派生類物件,假設派生類有拷貝建構函式?

張小飛 原來自己實現的原型者模式 手機編輯,也不知道啥效果 include stdafx.h include include include include using namespace std 父類 class Resume virtual Resume virtual Resume Clone...

C 抽象基類函式如何按值返回子類?

Lee Revere CRTP 可以 template T class Iterator class Derived template class Iterator class Derived public Iterator begin and end template class Base cla...