C++通用指针?空指针?

标签 c++ arrays visual-studio visual-c++

我正在编写一个程序,它可以在构造函数中接受 3 个整数或 3 个 float (我想为此我需要 2 个构造函数)。我想声明一个数组并将值存储在数组“numbers”中。

如果我不知道将调用哪个构造函数,我不确定如何声明“数字”(作为 int 数组或 float 数组)。

是否有解决此问题的好方法?或者我可以创建一个 int 数组和一个 float 数组,并以某种方式有一个指向正在使用的数组的通用指针(使用 void 指针是执行此操作的最佳方法)吗?

最佳答案

看起来你想要一个模板类。

template <class T>
class Foo
{
public:
    Foo(T a, T b, T c)
    {
        numbers[0] = a;
        numbers[1] = b;
        numbers[2] = c;
    }
private:
    T numbers[3];
};

关于C++通用指针?空指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7563741/

相关文章:

c++ - 在某些情况下 CMake 找不到 Boost 的可能原因?

c++ - 在 for 循环中,就迭代总数而言,循环控制变量的前/后递增之间是否存在差异?

c++ - 使用 std::move c++11 后会持续什么

java - 比较两个String数组并在Java中返回比较

c++ - 构建 exe 时如何禁用 exp/lib 生成?

c++ - 在 QFrame 中嵌入 IE 窗口

java - 更改数组值时遇到表达式非法开始错误

php - 我怎样才能将数组与日期合并到一个php中

asp.net-mvc - 资源 (RESX) 文件搞砸了

asp.net - 在 Visual Studio 中使用查询字符串参数进行调试