首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用c++模板实现整型、字符串、浮点型和date对象的数组?

使用C++模板可以实现整型、字符串、浮点型和date对象的数组。模板是C++中的一种泛型编程技术,可以根据不同的数据类型生成相应的代码。

下面是使用C++模板实现整型、字符串、浮点型和date对象的数组的示例代码:

代码语言:txt
复制
#include <iostream>
#include <string>
#include <vector>
#include <ctime>

template <typename T>
class Array {
public:
    Array(int size) : size(size) {
        data.resize(size);
    }

    void set(int index, T value) {
        if (index >= 0 && index < size) {
            data[index] = value;
        }
    }

    T get(int index) {
        if (index >= 0 && index < size) {
            return data[index];
        }
        return T();
    }

private:
    int size;
    std::vector<T> data;
};

int main() {
    Array<int> intArray(5);
    intArray.set(0, 1);
    intArray.set(1, 2);
    intArray.set(2, 3);
    intArray.set(3, 4);
    intArray.set(4, 5);
    std::cout << "Int Array: ";
    for (int i = 0; i < 5; i++) {
        std::cout << intArray.get(i) << " ";
    }
    std::cout << std::endl;

    Array<std::string> stringArray(3);
    stringArray.set(0, "Hello");
    stringArray.set(1, "World");
    stringArray.set(2, "!");
    std::cout << "String Array: ";
    for (int i = 0; i < 3; i++) {
        std::cout << stringArray.get(i) << " ";
    }
    std::cout << std::endl;

    Array<float> floatArray(4);
    floatArray.set(0, 1.1f);
    floatArray.set(1, 2.2f);
    floatArray.set(2, 3.3f);
    floatArray.set(3, 4.4f);
    std::cout << "Float Array: ";
    for (int i = 0; i < 4; i++) {
        std::cout << floatArray.get(i) << " ";
    }
    std::cout << std::endl;

    Array<tm> dateArray(2);
    time_t now = time(0);
    tm* timeinfo = localtime(&now);
    dateArray.set(0, *timeinfo);
    dateArray.set(1, *timeinfo);
    std::cout << "Date Array: ";
    for (int i = 0; i < 2; i++) {
        std::cout << asctime(&dateArray.get(i));
    }
    std::cout << std::endl;

    return 0;
}

这段代码定义了一个模板类Array,通过模板参数T来表示数组中的元素类型。在Array类中,使用std::vector来存储数据,并提供了setget方法来设置和获取数组中的元素。

main函数中,我们分别创建了整型、字符串、浮点型和date对象的数组实例,并使用set方法设置数组中的元素,然后使用get方法获取并输出数组中的元素。

注意:为了简化示例代码,没有进行错误处理和异常处理。

这个示例中没有提及腾讯云相关产品和产品介绍链接地址,因为这些内容与使用C++模板实现数组的问题无关。如果您有其他关于云计算、IT互联网领域的问题,我会很乐意为您解答。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券