I'm still not seeing a constructor. Initializing your members at the top of each function is a little scary, but I guess it will work.
Also, rather than use arrays with hard-coded sizes and having to pass back pointers to the first element in that array, you could just use std::vector and then pass it in and out of the function by reference.
So this:
int* doStuff()
{
int* arrayOfStuff = new int[2];
arrayOfStuff[0] = 5;
arrayOfStuff[1] = 1;
}
Becomes this:
void doStuff(std::vector<int>& myStuff)
{
myStuff.push_back(5);
myStuff.push_back(1);
}
By doing the above, you can change the size of your "array" easily. Right now you're using '12'. This means that any place that uses that function, magically has to know that the int* it is getting is pointing to an int array of 12 elements.
Also, you're initializing these arrays, but I see no delete to remove them. Your program is causing memory leaks. Anytime you use the 'new' keyword, you must call 'delete' on that data somewhere. In your case, 'delete[]'.