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
,并使用相同的接口來訪問和修改它們的值。