MST

星途 面试题库

面试题:C++类模板参数的基础使用

请编写一个C++类模板,该模板有一个类型参数T和一个非类型参数N。类中有一个成员函数,返回类型参数T数组(大小为非类型参数N)的所有元素之和。假设T类型支持加法操作。
39.0万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
#include <iostream>

template <typename T, size_t N>
class ArraySum {
public:
    T sum(const T (&arr)[N]) {
        T result = T();
        for (size_t i = 0; i < N; ++i) {
            result += arr[i];
        }
        return result;
    }
};

你可以这样使用这个类模板:

int main() {
    int arr[] = {1, 2, 3, 4, 5};
    ArraySum<int, 5> sumCalculator;
    int total = sumCalculator.sum(arr);
    std::cout << "Sum of array elements: " << total << std::endl;
    return 0;
}