MST

星途 面试题库

面试题:C++类模板声明在头文件中的基础应用

请简述在C++头文件中声明一个简单类模板的基本语法结构,并举例说明如何在头文件中声明一个能对两种不同类型数据进行加法操作的类模板。
27.8万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

类模板声明基本语法结构

template <typename T> 
class ClassName {
    // 类成员声明
};

template <typename T> 声明这是一个模板,T 是类型参数。ClassName 是类模板的名称,在类内部可以使用 T 来表示具体类型。

对两种不同类型数据进行加法操作的类模板声明示例

template <typename T1, typename T2> 
class Adder {
public:
    Adder(T1 a, T2 b) : num1(a), num2(b) {}
    auto add() {
        return num1 + num2;
    }
private:
    T1 num1;
    T2 num2;
};

在上述代码中,Adder 类模板接受两个类型参数 T1T2。构造函数接受两个不同类型的参数并保存。add 成员函数返回两个不同类型数据相加的结果。