c++语言问题需要帮助

1、用C++语言实现。求某一个数据段内[begin,end]的所有素数。其中,begin、end在主程序运行时输入,素数类的定义如下。要求:
(1)依照类的定义,完善成员函数的定义;
(2)类的定义、主程序的语句,不能修改。
//求某一个数据段内的素数。类的定义:
#include
#include
using namespace std;
#define MAX 300

class Prime {
public:
void Set_Beg_End(int b,int e); //获得begin、end的数据
void Prt(); //打印所有的素数
void Calculate_Prime(); //计算所有的素数
bool IsPrime(int n); //判断n是否为素数
private:
int beg; //范围的开始值
int end; //范围的结束值
int count; //实际素数的个数
int prime_data[MAX]; //素数存放的数组,最大个数为MAX
};
//完善成员函数的定义

int main() //主程序不要修改,且输入的bgein、end的数据为2、500。
{ Prime number;
number.Set_Beg_End(2,500); //begin、end的值为2、500
number.Calculate_Prime();
number.Prt();
}

素数就是从2到n-1没有能被n整除的数。代码如下:

#include <iostream>

using namespace std;
#define MAX 300

class Prime {
public:
    void Set_Beg_End(int b,int e); //获得begin、end的数据
    void Prt(); //打印所有的素数
    void Calculate_Prime(); //计算所有的素数
    bool IsPrime(int n); //判断n是否为素数
private:
    int beg; //范围的开始值
    int end; //范围的结束值
    int count; //实际素数的个数
    int prime_data[MAX]; //素数存放的数组,最大个数为MAX
};
//完善成员函数的定义
void Prime::Set_Beg_End(int b,int e)
{
    beg = b;
    end = e;
}
void Prime::Prt()
{
    int i=0;
    for(;i<count;i++)
    {
        if(i<count-1)
            cout <<prime_data[i]<<" ";
        else
            cout <<prime_data[i]<<endl;
    }
}
void Prime::Calculate_Prime()
{
    int i=beg;
    count = 0;
    for(;i<=end;i++)
    {
        if(IsPrime(i))
            prime_data[count++] = i;
    }
}

bool Prime::IsPrime(int n)
{
    if(n<2) return false;
    int i;
    for(i=2;i<n;i++)
    {
        if(n%i==0)
            return false;
    }
    return true;
}

int main() //主程序不要修改,且输入的bgein、end的数据为2、500。
{ Prime number;
number.Set_Beg_End(2,500); //begin、end的值为2、500
number.Calculate_Prime();
number.Prt();
}