Need help pointing out where/if these are applied:
The heap
Constructor overloading
Private/protected data members/functions
Functions, parameters, return values

Code:
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

class RandomNumberGenerator
{
	int secretNumber;
	int tries;
	int guess;

public:
	RandomNumberGenerator()
	{
		tries=0;
		secretNumber=randomNumber(100); 
	}

	int randomNumber(int max)
	{
		return (rand() % max + 1); // random number between 1 and 100
	}

	void guessprocedure()
	{
		cout << "\tWelcome to Guess My Number\n\n";
		do
		{
			cout << "Enter a guess: ";
			cin >> guess;
			++tries;
			if (guess > secretNumber)
			{
				cout << "Too high!\n\n";
			}
			else if (guess < secretNumber)
			{
				cout << "Too low!\n\n";
			}
			else
			{
				cout << "\nThat's it! You got it in " << tries << "guesses!\n";
			}
		} while (guess != secretNumber);
	}
};

int main()
{
	RandomNumberGenerator rng;		
	rng.guessprocedure();
	return 0;
}