c++

c++实现模板类方法

小樊
81
2024-11-24 19:28:03
栏目: 编程语言

在C++中,可以使用模板类来实现泛型编程

#include <iostream>

// 定义一个模板类
template <typename T>
class MyClass {
public:
    // 定义一个模板成员函数
    template <typename U>
    void printType(const U& value) {
        std::cout << "Value: " << value << ", type: " << typeid(value).name() << std::endl;
    }
};

int main() {
    MyClass<int> myInt;
    myInt.printType(42); // 输出: Value: 42, type: i (表示int类型)

    MyClass<std::string> myString;
    myString.printType("Hello, World!"); // 输出: Value: Hello, World!, type: NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE (表示std::string类型)

    return 0;
}

在这个示例中,我们定义了一个名为MyClass的模板类,它接受一个类型参数T。然后,我们在类中定义了一个名为printType的模板成员函数,它接受一个类型参数U。这个成员函数接受一个U类型的值,并输出其值和类型信息。

main函数中,我们创建了两个MyClass的实例,一个用于int类型,另一个用于std::string类型。然后,我们调用printType函数来打印这些值的类型信息。

0
看了该问题的人还看了