Question: C++ 1. Define a class named PrimeNumber that stores a prime number. The default constructor should set the prime number to 1. 2. Add another
C++
1. Define a class named PrimeNumber that stores a prime number. The default constructor should set the prime number to 1.
2. Add another constructor that allows the caller to set the prime number.
3. Add a function to get the prime number.
4. Overload the prefix and postfix ++ and -- operators so they return a PrimeNumber object that is the next largest prime number (for ++) and the next smallest prime number (for --). For example, if the object's prime number is set to 13, then invoking ++ should return a PrimeNumber object whose prime number is set to 17. Create an appropriate test program for the class.
I've only gone this far but needs fixing and finishing:
primenumber.h:
#ifndef PRIMENUMBER_H #define PRIMENUMBER_H
class PrimeNumber { public: // class constructor PrimeNumber(); PrimeNumber(int primeNumber); //Returns Prime Number int getPrimeNumber() const; PrimeNumber operator++(); PrimeNumber operator++(int); PrimeNumber operator--(); PrimeNumber operator--(int); private: int primeNumber; bool checkForPrime(int number); };
#endif // PRIMENUMBER_H
primenumber.cpp:
#include
using namespace std;
// class constructor PrimeNumber::PrimeNumber() { primeNumber = 1; }
PrimeNumber::PrimeNumber(int primeNumber) { this->primeNumber = primeNumber; }
int PrimeNumber::getPrimeNumber() const { return primeNumber; }
PrimeNumber PrimeNumber::operator++() { cout << checkForPrime(11); return *this; }
bool PrimeNumber::checkForPrime(int number) { for(int i = 0; i < number; i++) { if(number % i == 0) { return false; } } return true; }
Main.cpp:
#include
using namespace std;
int main() { PrimeNumber pn; ++pn; cout << pn.getPrimeNumber(); system("pause"); return 0; }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
