Re: [问题] parent class有办法求继承index吗?

楼主: johnjohnlin (嗯?)   2024-02-07 22:11:25
自问自答一下
看了推文的作法忽然有了灵感,想到简单写法了
原理:
可以继承 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
: 只需要先处理这种直接继承关系
: 谢谢各位了~

Links booklink

Contact Us: admin [ a t ] ucptt.com