将类类型作为参数传递给函数模板是一种常见的泛型编程技术,可以实现对不同类型的数据进行相同的操作。下面是一个示例代码,演示了如何将类类型作为参数传递给函数模板:
#include <iostream>
// 定义一个类类型
class MyClass {
public:
MyClass(int value) : m_value(value) {}
int getValue() const { return m_value; }
private:
int m_value;
};
// 定义一个函数模板,接受一个类类型参数
template<typename T>
void printValue(const T& value) {
std::cout << "Value: " << value.getValue() << std::endl;
}
int main() {
// 创建一个 MyClass 对象
MyClass obj(42);
// 调用函数模板,传递 MyClass 对象作为参数
printValue(obj);
return 0;
}
在上面的示例中,我们定义了一个名为MyClass
的类类型,它具有一个整数成员变量和一个返回成员变量值的成员函数。然后,我们定义了一个名为printValue
的函数模板,它接受一个类型为T
的参数,并打印出该参数的值。在main
函数中,我们创建了一个MyClass
对象obj
,然后将其作为参数传递给printValue
函数模板。
通过使用函数模板,我们可以将类类型作为参数传递给函数,实现对不同类型的数据进行相同的操作。这种技术在实际开发中非常有用,可以提高代码的重用性和灵活性。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云