递归调用被继承的基类成员函数,实现求素数的功能

来源:百度知道 编辑:UC知道 时间:2024/05/24 15:13:03
递归调用被继承的基类成员函数,实现求素数的功能
要求用C++编程

//一个不堪入目的类
#include <iostream>
#include <cstdlib>
#include <cmath>

using std::endl;
using std::cout;
using std::cin;

class Integer {
int m_i;
public:
Integer();
Integer(int);
bool is_prime(int);
};
class Derived:public Integer {
public:
Derived(int i=0):Integer(i)
{
}
};
Integer::Integer()
{
}
Integer::Integer(int i)
{
m_i = i;
}
bool Integer::is_prime(int i)
{
if (m_i < 2)
abort();
if (m_i == 2)
return true;
else {
if (i<m_i && m_i%i!=0)
return is_prime(i+1);
if (i > std::sqrt(m_i))
return true;
else
return false;
}
}
int main()
{
Derived d(2);
if (d.is_prime(2))
cout << "Prime\n";
else
cout << "Not prime\n";

return 0;<