C++ 的 get
和 set
方法通常用于访问和修改类的私有或受保护成员。它们是作为成员函数存在的,因此不能直接在模板类中使用。但是,您可以通过为模板参数提供自定义的 get
和 set
函数来实现类似的功能。
以下是一个简单的示例,展示了如何为模板类提供自定义的 get
和 set
函数:
#include <iostream>
template <typename T>
class MyClass {
private:
T value;
public:
// 自定义 get 函数
T get() const {
return value;
}
// 自定义 set 函数
void set(const T& newValue) {
value = newValue;
}
};
int main() {
MyClass<int> intObj;
intObj.set(42);
std::cout << "Value: " << intObj.get() << std::endl;
MyClass<std::string> strObj;
strObj.set("Hello, World!");
std::cout << "Value: " << strObj.get() << std::endl;
return 0;
}
在这个示例中,我们为 MyClass
模板类提供了自定义的 get
和 set
函数。这样,我们可以使用不同类型的对象(如 int
和 std::string
)来实例化 MyClass
,并使用相同的接口来访问和修改它们的值。