确保派生类具有适当类型的属性
Ensure Derived Classes have property of appropriate type
我有一个抽象基类(只有数据成员和纯虚函数),例如"Plotter"类。
我有两个计划的派生实现,"NumberPlotter"和"WordPlotter",它们中的每一个几乎都是相同的,除了NumberPlotter有一个名为"处理器"的成员变量,类型为">NumberProcessor",WordPlotter有一个名为"处理器"的成员变量,类型为"字处理器"。这两个 *处理器类都是抽象基类"处理器"的实现。
有没有办法确保 *Plotter 类具有一个名为"处理器"的成员变量,该变量在编译时通过其抽象基类具有 *Processor 的某种实现类型?我不能声明绘图仪类有一个处理器类型的变量,因为处理器只有纯虚函数(它是一个抽象类型)。
处理器实现具有一些相同的成员变量,因此我希望能够在使用绘图仪->处理器->甚至绘图仪->处理器->Process() 形式的基绘图仪类时做出一些基本假设。
这样做的方法是定义一个抽象函数,如下所示:
WordProcessor &getProcessor () = 0 ;
您不能真正强制子类具有成员变量,但可以强制它具有依赖于具有此类成员变量的成员函数。
相关文章:
- 用概念检查属性的类型
- 变量(或属性)可以等于类型吗?
- C++类型的属性是继承的吗
- 如何在一个属性中动态存储基元类型
- C++将两个不同类型的向量的属性连接到新的向量中
- 将提升属性映射与捆绑类型一起使用
- 使用类属性调用具有非类型模板参数的模板函数
- 如何在提升图形库中获取属性的类型
- 我创建了deque<CObject*>并添加了不同类型的元素。如何更改此元素的属性?
- 应用于类型别名声明的 [[maybe_unused]] 属性的语法
- 访问用户定义类型的数组的特定属性
- 精神X3,如何获得属性类型以匹配规则类型
- 具有相似属性的不同数据类型的模板
- 如何从Google Proto Buf消息中的属性名称中找到消息类型
- 创建具有受限属性的类型
- 支持 g++ 中的类型属性
- 限制数据类型属性冲突-ODBC with Access Database
- 为虚拟析构函数指定的冲突类型属性
- Cython扩展类型属性误解
- 绕过c++的静态类型属性