定义一个具有3个模板参数的类模板Test,且对应于各模板参数至少各具有一个数据成员,同时该类模板中具有成员Display()和Set(……),分别用于输出和设置类模板Test所定义的各数据成员
时间: 2024-02-15 18:04:09 浏览: 29
可以按照以下的方式来实现具有3个模板参数的类模板`Test`:
```cpp
#include <iostream>
template<typename T1, typename T2, typename T3>
class Test {
public:
Test(T1 val1, T2 val2, T3 val3) : m_val1(val1), m_val2(val2), m_val3(val3) {}
void Display() {
std::cout << "Val1: " << m_val1 << ", Val2: " << m_val2 << ", Val3: " << m_val3 << std::endl;
}
void Set(T1 val1, T2 val2, T3 val3) {
m_val1 = val1;
m_val2 = val2;
m_val3 = val3;
}
private:
T1 m_val1;
T2 m_val2;
T3 m_val3;
};
int main() {
Test<int, double, char> test(10, 3.14, 'a');
test.Display();
test.Set(20, 6.28, 'b');
test.Display();
return 0;
}
```
在这个类模板中,我们定义了3个模板参数`T1`、`T2`和`T3`,并且在类模板中定义了3个数据成员`m_val1`、`m_val2`和`m_val3`,分别对应于这3个模板参数。在类模板的构造函数中,我们将传入的3个参数`val1`、`val2`和`val3`分别赋值给这3个数据成员。然后,我们定义了类模板的成员函数`Display()`和`Set()`,用于输出和设置这3个数据成员。`Display()`函数用于输出3个数据成员的值,`Set()`函数用于设置这3个数据成员的值。在`main`函数中,我们创建了一个`Test`类模板的实例,并分别调用了`Display()`和`Set()`函数来测试这个类模板。