Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;从'NameBase'类到模板'Name'类具有相互继承性的习惯用法(或模式) 我在不同的C++项目中遇到以下(或类似的)类层次结构: class DummyBase { public: virtual ~DummyBase() {} virtual void doSomething() = 0; }; template<typename T> class Dummy : public DummyBase { public: void doSomething() override { ... } private: T field; }; 类DummyBase { 公众: 虚拟~DummyBase(){} 虚空doSomething()=0; }; 模板 类Dummy:公共DummyBase { 公众: void doSomething()重写 { ... } 私人: T场; }; 看起来像C++习语,模式或诡计。你能告诉我这项工程的目的吗?用它能解决什么问题。我很乐意阅读一些好的文章或书籍来描述它。_C++_Oop_Templates_Idioms - Fatal编程技术网

C++;从'NameBase'类到模板'Name'类具有相互继承性的习惯用法(或模式) 我在不同的C++项目中遇到以下(或类似的)类层次结构: class DummyBase { public: virtual ~DummyBase() {} virtual void doSomething() = 0; }; template<typename T> class Dummy : public DummyBase { public: void doSomething() override { ... } private: T field; }; 类DummyBase { 公众: 虚拟~DummyBase(){} 虚空doSomething()=0; }; 模板 类Dummy:公共DummyBase { 公众: void doSomething()重写 { ... } 私人: T场; }; 看起来像C++习语,模式或诡计。你能告诉我这项工程的目的吗?用它能解决什么问题。我很乐意阅读一些好的文章或书籍来描述它。

C++;从'NameBase'类到模板'Name'类具有相互继承性的习惯用法(或模式) 我在不同的C++项目中遇到以下(或类似的)类层次结构: class DummyBase { public: virtual ~DummyBase() {} virtual void doSomething() = 0; }; template<typename T> class Dummy : public DummyBase { public: void doSomething() override { ... } private: T field; }; 类DummyBase { 公众: 虚拟~DummyBase(){} 虚空doSomething()=0; }; 模板 类Dummy:公共DummyBase { 公众: void doSomething()重写 { ... } 私人: T场; }; 看起来像C++习语,模式或诡计。你能告诉我这项工程的目的吗?用它能解决什么问题。我很乐意阅读一些好的文章或书籍来描述它。,c++,oop,templates,idioms,C++,Oop,Templates,Idioms,这是基于多态性的,它通常用于处理像std::function或std::any这样的事情,它们可以以完全相同的方式存储不相关类型的数据(例如std::function的函数指针和成员函数指针).我不明白这个问题:)你是说命名约定?没有。你可以给它取任何名字。@rifkin我想知道在项目中使用这种结构的动机。

这是基于多态性的,它通常用于处理像
std::function
std::any
这样的事情,它们可以以完全相同的方式存储不相关类型的数据(例如
std::function
的函数指针和成员函数指针).

我不明白这个问题:)你是说命名约定?没有。你可以给它取任何名字。@rifkin我想知道在项目中使用这种结构的动机。