class PrimeNumberGenerator {
public:
explicit PrimeNumberGenerator(int start);
int GetNextPrime();
private:
int start_value;
};
PrimeNumberGenerator::PrimeNumberGenerator(int start) {
this->start_value = start;
}
int PrimeNumberGenerator::GetNextPrime() {
while ( true ) {
int cnt = 1;
for ( int i = 1 ; i <= start_value ; i++ ) {
if ( start_value % i == 0 ) {
cnt++;
}
if ( cnt > 2 ) {
break;
}
}
if ( cnt <= 2 && this->start_value != 1 ) {
int returned = this->start_value;
this->start_value++;
return returned;
}
this->start_value++;
}
}