建立一个用来实现求3个数和的类模板(将成员函数定义在类模板的内部),并写出调用此类模板的完整程序。
时间: 2024-02-22 13:55:01 浏览: 22
好的,下面是代码实现:
```cpp
#include <iostream>
using namespace std;
template <typename T>
class SumOfThree {
private:
T a, b, c;
public:
SumOfThree(T a, T b, T c) : a(a), b(b), c(c) {}
T sum() {
return a + b + c;
}
};
int main() {
SumOfThree<int> intSum(1, 2, 3);
cout << "Sum of three integers: " << intSum.sum() << endl;
SumOfThree<double> doubleSum(1.5, 2.5, 3.5);
cout << "Sum of three doubles: " << doubleSum.sum() << endl;
return 0;
}
```
这个程序定义了一个类模板 `SumOfThree`,它有三个模板参数 `typename T`,表示数据类型。类模板内部有一个成员函数 `sum()`,用于求三个数据的和。
在 `main()` 函数中,我们分别创建了两个类模板的实例,一个是 `int` 类型的数据,一个是 `double` 类型的数据,然后分别调用 `sum()` 函数求和并输出结果。
注意,这里我们使用了类模板的构造函数来初始化三个数据成员 `a`、`b`、`c`。这样可以方便地创建类模板的实例,并且保证了数据类型的一致性。