Re: [問題] parent class有辦法求繼承index嗎?
自問自答一下
看了推文的作法忽然有了靈感,想到簡單寫法了
原理:
可以繼承 varadic template
作一個類似CRTP的helper class,把要繼承的class拉進來,由helper繼承
class Derived : Helper<Base1, Base2> 這樣
接著在 Helper 裡面實做 GetIndex
POC:
https://godbolt.org/z/q8easzezr
※ 引述《johnjohnlin ()》之銘言:
: 開發平台(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), 來自: 123.205.64.15 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1707315088.A.C0B.html
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章