C++使用一个头文件和一个源文件使用类来实现判定一个整数是否为素数,使用template,使用构造函数,构析函数类体中定义,使用成员函数,类外定义
时间: 2024-09-28 20:16:32 浏览: 23
在C++中,你可以使用模板、构造函数、析构函数以及成员函数来创建一个判断整数是否为素数的简单类。首先,我们需要一个头文件(例如 `prime_checker.h`),其中定义了类及其相关的公共接口:
```cpp
// prime_checker.h
#ifndef PRIME_CHECKER_H
#define PRIME_CHECKER_H
#include <iostream>
template <typename T>
class PrimeChecker {
public:
// 构造函数
PrimeChecker(T num) : number(num) {}
// 判断是否为素数的成员函数
bool isPrime();
private:
// 要检查的数字
T number;
};
#endif // PRIME_CHECKER_H
```
然后,在一个源文件(例如 `prime_checker.cpp`)中,我们实现类体,包括成员函数的定义:
```cpp
// prime_checker.cpp
#include "prime_checker.h"
template <typename T>
bool PrimeChecker<T>::isPrime() {
if (number <= 1)
return false;
for (T i = 2; i * i <= number; ++i) {
if (number % i == 0)
return false;
}
return true;
}
// 析构函数在这里通常为空,因为这个例子不需要额外清理
template <typename T>
~PrimeChecker() {}
int main() {
int num;
std::cout << "Enter a number: ";
std::cin >> num;
PrimeChecker<int> checker(num);
if (checker.isPrime())
std::cout << num << " is prime.\n";
else
std::cout << num << " is not prime.\n";
return 0;
}
```
在这个例子中,用户可以在 `main()` 函数中创建一个 `PrimeChecker` 对象,并通过其 `isPrime()` 成员函数来检查输入的整数是否为素数。