建立一个用来实现求3个数和的类模板(将成员函数定义在类模板的内部),并写出调用此类模板的完整程序.
时间: 2024-03-25 10:39:48 浏览: 23
好的,下面是代码实现:
```c++
#include <iostream>
template <typename T>
class SumThreeNumbers {
public:
SumThreeNumbers(T num1, T num2, T num3) {
this->num1 = num1;
this->num2 = num2;
this->num3 = num3;
}
T sum() const {
return num1 + num2 + num3;
}
private:
T num1;
T num2;
T num3;
};
int main() {
SumThreeNumbers<int> sum_int(1, 2, 3);
std::cout << "The sum of three int numbers is: " << sum_int.sum() << std::endl;
SumThreeNumbers<double> sum_double(1.2, 3.4, 5.6);
std::cout << "The sum of three double numbers is: " << sum_double.sum() << std::endl;
return 0;
}
```
在上面的代码中,我们定义了一个类模板 `SumThreeNumbers`,它有一个构造函数和一个成员函数 `sum`。构造函数接收三个类型为 `T` 的参数,分别初始化了三个私有成员变量 `num1`、`num2` 和 `num3`,成员函数 `sum` 返回这三个数的和。在 `main` 函数中,我们分别创建了两个类模板对象 `sum_int` 和 `sum_double`,分别传入了三个 `int` 和三个 `double` 类型的参数,并调用了它们的 `sum` 函数,输出了结果。
如果你想求其他类型的数的和,只需要将 `int` 或 `double` 替换成相应的类型即可。