为什么使用模板结构作为基类而不是常规类/接口?

问题描述

我正在处理一段将模板结构作为基类的代码

template <typename T>
struct myStruct
{
  size_t getSize() const noexcept { return static_cast<const T &>(*this).getSize(); };
  // A bunch of similar functions
}

从该结构继承的类如下所示:

class myClass : public myStruct<myClass>
{
  size_t getSize() const noexcept;
}

据我所知,基类的实现最终会调用派生类的函数。此外,我正在使用的代码中没有引用基类,我与之交互的所有对象都是派生类的实例。

我的问题是:使用这种结构作为基类而不是使用常规继承(没有模板)有什么好处吗?或者,为什么在这种情况下使用继承?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)