在C++中,static关键字和模板类结合的使用场景主要包括以下几种:
template <typename T>
class MyClass {
public:
static int count; // 静态成员变量
};
template <typename T>
int MyClass<T>::count = 0;
int main() {
MyClass<int> obj1;
MyClass<int> obj2;
obj1.count = 10;
cout << obj2.count; // 输出为10
return 0;
}
template <typename T>
class MyClass {
public:
static void print() {
cout << "Hello, World!" << endl;
}
};
int main() {
MyClass<int>::print(); // 输出为Hello, World!
return 0;
}
template <typename T>
class MyClass {
public:
template <typename U>
static void print(U data) {
cout << data << endl;
}
};
int main() {
MyClass<int>::print("Hello, World!"); // 输出为Hello, World!
return 0;
}
这些是static关键字和模板类结合的常见使用场景,可以更灵活地设计并组织模板类的成员和方法。