C++使用一个头文件和一个源文件使用类来实现判定一个整数是否为素数,使用template
时间: 2024-09-28 12:16:19 浏览: 38
在C++中,使用模板(Template)来实现判断一个整数是否为素数通常会在头文件中声明函数模板,而在源文件中进行实例化。这里是一个简单的例子:
**头文件 (prime_checker.h)**
```cpp
#ifndef PRIME_CHECKER_H
#define PRIME_CHECKER_H
// 使用template 实现素数检查函数
template <typename T>
bool isPrime(T number) {
if (number <= 1)
return false;
for (T i = 2; i * i <= number; ++i) {
if (number % i == 0)
return false;
}
return true;
}
#endif // PRIME_CHECKER_H
```
**源文件 (prime_checker.cpp)**
```cpp
#include "prime_checker.h"
int main() {
// 实例化并测试函数
std::cout << isPrime(7) << std::endl; // 输出 1,因为 7 是素数
std::cout << isPrime(10) << std::endl; // 输出 0,因为 10 不是素数
return 0;
}
```
在这个例子中,`isPrime` 函数模板接受任何可以支持除法和比较的类型作为参数。当你在 `main` 函数中调用它时,比如 `isPrime(7)` 和 `isPrime(10)`,编译器会生成适合对应数据类型的版本。
阅读全文