[問題] parent class有辦法求繼承index嗎?

看板C_and_CPP (C/C++)作者時間9月前 (2024/02/06 21:02), 編輯推噓4(4013)
留言17則, 5人參與, 9月前最新討論串1/2 (看更多)
開發平台(Platform): (Ex: Win10, Linux, ...) 無指定,標準C++,可以在17或是之前的話最好 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) 無指定 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 可以的話只用STL 問題(Question): 想請教一下,假設我有一個 class 是 class Derive: public B1, public B2 是否有簡單的方法得到static constexpr的值 Derive::GetIndex(B1*) = 0 Derive::GetIndex(B2*) = 1 可以先不考慮多重、多層繼承之類的複雜case 只需要先處理這種直接繼承關係 謝謝各位了~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.222.50.210 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1707224562.A.55B.html

02/06 23:29, 9月前 , 1F
template <typename T> auto getIndex() { return T::ind
02/06 23:29, 1F

02/06 23:29, 9月前 , 2F
ex; }
02/06 23:29, 2F

02/06 23:29, 9月前 , 3F
這樣有符合需求嗎?
02/06 23:29, 3F

02/07 00:06, 9月前 , 4F

02/07 00:10, 9月前 , 5F
再配合一下MACRO應該可以不用手動建set
02/07 00:10, 5F

02/07 01:18, 9月前 , 6F
我有點好奇「求多重繼承指定父類的順序」的用處在哪
02/07 01:18, 6F

02/07 09:39, 9月前 , 7F
@LPH大大寫我在寫某個class繼承了consumer/producer
02/07 09:39, 7F

02/07 09:39, 9月前 , 8F
,使用者會用父介面呼叫這個class,然後我想要建出
02/07 09:39, 8F

02/07 09:39, 9月前 , 9F
相依關係的topological graph
02/07 09:39, 9F

02/07 09:42, 9月前 , 10F
二樓那個拿offset的方法好像可以試試看
02/07 09:42, 10F

02/08 09:08, 9月前 , 11F
所以你不是想要得到 parent class 某個 constexpr 的值,
02/08 09:08, 11F

02/08 09:08, 9月前 , 12F
你是要把 parent class 拿來排序
02/08 09:08, 12F

02/08 10:00, 9月前 , 13F
std variant
02/08 10:00, 13F

02/08 11:09, 9月前 , 14F
variant不適用我的場景,我需要有繼承關係
02/08 11:09, 14F

02/08 13:52, 9月前 , 15F
如果這個排序可以不必是繼承順序的話 (建圖應該可以不是)
02/08 13:52, 15F

02/08 13:52, 9月前 , 16F
typeid(型態) 所得到的 type_info 物件有 hash_code() 能用
02/08 13:52, 16F

02/08 13:52, 9月前 , 17F
或者根本可以用此 type_info 的 before() 方法判斷順序
02/08 13:52, 17F
文章代碼(AID): #1bmYtoLR (C_and_CPP)
文章代碼(AID): #1bmYtoLR (C_and_CPP)