C++泛型类中的字段/属性
C++ generics field/property in a class
我不知道如何构建它,但这里是基础知识。我有一个读文件的类。在它进行的过程中,它有一些事情是通用处理的,并且针对每个"片段"(给定文件中的许多片段)。当每个"片段"被处理时,它的SPECIFIC类型被识别,我希望通过特定类型添加另一个类的实例(通过该类的new*instance())。以下是我尝试做的基本内容。
这是我想要最终到达的基线
class SpecificBaseline
{
public:
SpecificBaseline();
virtual void ThisHandledPerDerived();
}
Specific subclassed instances
class SubClass1 : SpecificBaseline
{ -- blah -- }
class AnotherSubClass : SpecificBaseline
{ -- blah -- }
class SubSub1 : AnotherSubClass
{ -- blah -- }
这是一个简单的PerPiece实例,它正在检测它应该表示/操作的TYPE(根据上面的类/子类)。
class OnePiece
{
public:
ReadSpecificType(string *s);
protected:
[AnyDerivedFromSpecificBaseline] specificType;
}
OnePiece::ReadSpecificType(string *s)
{
if string contains (whatever)
specificType = new WhichSubClassDerivedFromSpecificBaseline();
else if another expected key
specificType = new DifferentSubClassDerivedFromSpecificBaseline();
else
etc...
}
我甚至在考虑像这样的仿制药
<typename T>
class MyClass<T>
{
blah...
}
以及为每种类型构建一个指针数组,但不确定如何正确创建指针,因为它可以是所需的"SpecificBaseline"的任何类型。
感谢任何帮助,甚至其他解决方案。
您需要的是一个工厂方法ReadSpecificType
。使所有特定类型从公共基类继承,并创建一个工厂方法,该方法将要解析的字符串作为参数,并向公共基类返回一个点。
相关文章:
- 将结构字段的类型展开为可变模板参数
- 将位字段导出到数组
- 为了方便起见,我应该避免公开私有字段变量吗
- 当字段可以为null时,如何使用C++接口在Avro中写入数据
- 在java中读取c++字节的位字段
- 链接器找不到在虚拟类 c++ 中访问的静态字段的符号
- 私有字段对象与私有继承?
- 声明没有默认构造函数的字段
- C++内存模型和位字段的最大序列
- 声明为无效的变量或字段'...' Ardunio 编译器上的错误
- 如何在QByteArray中放置和检索位字段而不会感到痛苦?
- 如何从提升属性树中读取字段类型
- Const 引用字段作为类中的只读属性C++
- 如何有效地从该对象中包含的另一个对象访问对象字段/属性
- C++泛型类中的字段/属性
- 如何将 const int 从托管 C++DLL 传递到 C#,以用作属性中的字段值
- 忽略打包属性,因为未打包的非 POD 字段
- 公共字段或c++中类似c#的属性
- 类属性/字段是如何存储的
- c++类中使用位字段的属性不一致