OOP设计——从泛型容器继承
OOP design - inheriting from container with generic type
我有两个类,比如CollectionA
和CollectionB
,它们都继承自Collection
。Collection
具有std::array<GenericType>
属性。我想使用CollectionA
作为一个集合,其继承的std::array
包含类型为ClassA
(std::array<ClassA>
)和CollectionB
的元素,包含std::array<ClassB>
。这是可能的吗?如果是,我该如何实现这个设计?
注意:如果这个问题需要模板,我不熟悉模板。
EDIT: Collection
是用户定义的,所以我没有直接继承std::array
一个模板是显而易见的解决方案,从
开始template<typename Element>
class Collection
{
protected:
std::array<Element> arrr_;
};
class CollectionA : public Collection<ClassA>
{
};
class CollectionB : public Collection<ClassB>
{
};
这样定义
class ContainerA : public Container<ClassA> {...};
class ContainerB : public Container<ClassB> {...};
template <class T>
class Collection {
protected:
std::array<T> data_;
};
class CollectionA : public Collection<A> {
/*
you can use data_ in this class.
data_ will be of type std::array<T>;
*/
};
相关文章:
- 如何设计类继承
- C++基于策略的设计:继承与组合
- 具有多个继承共享一个资源的对象 - 寻找良好的设计模式
- 类设计:类成员继承自同一基类
- C++继承的类设计问题
- 在我的情况下,多重继承是一种好的设计模式吗?
- 设计模式:我应该在这里使用继承吗?
- C ++什么设计将有助于避免使用侦听器时的多重继承
- 班级设计和继承问题
- C++ 项目设计 - 私有继承和"is a"关系
- 可视化设计问题 - 多重继承,C++
- 关于C 接口(纯虚拟类)/多重继承/虚拟继承的设计Qustion
- 装饰设计模式与继承
- 依赖注入/继承设计模式的构造函数参数太多
- 用C++编写的标记化器的继承设计
- C++ 继承设计问题
- c++多重继承设计问题
- c++继承设计
- 使用模板和继承设计测试
- c++分层类继承设计