在这种情况下我该如何管理继承?

How can I manage inheritance in this case?

我正在尝试用 C++ 创建一个可以包含各种数据类型的 table。因此,我创建了一个虚拟模板 class "Column" 并从中派生 "IntColumn"、"FloatColumn"、ecc。 然后我想创建一个 std::vector 来填充所有列。问题是,如果我尝试创建一个 列类型 的向量,我应该指定列的类型(因为它是一个模板),如果我想创建一个 子类型对象我不能,因为它说构造函数被隐式删除。

我知道这对你来说可能看起来很愚蠢,但我对这些东西是新手,我真的不知道在这种情况下该怎么做。

我的目标是能够创建一个列向量(可以存储 int、float、char、string、Date、Time 类型)并拥有可以从所有类型的列中提取数据的方法。 (日期和时间是我已经创建的 classes)

如果我应该包含一些代码,请告诉我。

我不知道你的列类型应该代表什么,所以我会给你两种方法:

  1. 描述一个专栏。在这种情况下,您有一个描述 table 的列描述符数组,您只需要一个 "polymorphic container"。使用该关键字应该会让您走得更远。
  2. 包含列的值。在那种情况下,您的做法是错误的。在顶层,使用像向量这样的容器来包含行(而不是列!)。然后每一行都包含一个简单的结构或值 class.