c++

C++类模板如何定义成员函数

小樊
82
2024-11-09 01:14:28
栏目: 编程语言

在C++中,类模板的成员函数定义与常规类的成员函数定义非常相似。首先,在类模板声明中,你需要为成员函数提供模板参数列表。然后,在类模板定义中,你可以像常规类一样定义成员函数。这里有一个简单的例子来说明如何定义类模板的成员函数:

#include <iostream>

// 类模板声明
template <typename T>
class MyClass {
public:
    // 成员函数声明,包含模板参数列表
    void printType();
};

// 类模板定义
template <typename T>
void MyClass<T>::printType() {
    std::cout << "The type of the stored value is: " << typeid(T).name() << std::endl;
}

int main() {
    MyClass<int> intObj; // 使用int类型实例化类模板
    intObj.printType();   // 输出:The type of the stored value is: i

    MyClass<std::string> strObj; // 使用std::string类型实例化类模板
    strObj.printType();   // 输出:The type of the stored value is: NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE

    return 0;
}

在这个例子中,我们定义了一个名为MyClass的类模板,它接受一个类型参数T。我们为这个类模板定义了一个成员函数printType(),它打印存储值的类型。在main()函数中,我们使用intstd::string类型实例化了MyClass类模板,并调用了printType()成员函数。

0
看了该问题的人还看了