qt5模板类,其中泛型类是自定义的结构体
时间: 2023-11-08 16:16:07 浏览: 180
在Qt中,可以使用模板类来定义泛型类,也可以使用自定义的结构体作为泛型类的类型参数。
下面是一个使用自定义结构体作为模板类类型参数的例子:
```cpp
// 定义一个简单的结构体
struct MyStruct {
int x;
int y;
};
// 定义一个模板类(泛型类),使用 MyStruct 结构体作为类型参数
template<typename T>
class MyTemplateClass {
public:
MyTemplateClass(T t) : m_t(t) {}
T value() const { return m_t; }
private:
T m_t;
};
// 使用 MyStruct 结构体作为类型参数来创建一个 MyTemplateClass 的实例
MyTemplateClass<MyStruct> myObj(MyStruct{1, 2});
```
在上面的例子中,我们首先定义了一个名为 MyStruct 的简单结构体,其中包含两个整型成员变量 x 和 y。然后,我们定义了一个名为 MyTemplateClass 的模板类,使用类型参数 T 来表示泛型类型。在 MyTemplateClass 类中,我们可以使用 T 来定义成员变量和成员函数。在这个例子中,我们简单地定义了一个成员变量 m_t 和一个成员函数 value(),用于获取 m_t 的值。
最后,我们使用 MyStruct 结构体作为类型参数来创建一个 MyTemplateClass 的实例 myObj,并传入一个 MyStruct 类型的参数 {1, 2}。这样,MyTemplateClass 的实例 myObj 就会使用 MyStruct 结构体来处理数据。
阅读全文