Hmmm
This is A WAY of going about it. You don't have to follow this word-for-word. This will give you an idea of what you can do.
--
You can make a class called BigInt that accepts a const char* or string as a number (or int), converts whatever case into individual digits in an array that is initially sized to be big enough for the first number.
Obviously have a flag (bool) called positive and set it based on the user's input (if the user inputs a string with a minus sign as its first character, or the user inputs a negative int, set the flag accordingling).
Create a set method that enables you to "set" the BigInt (in fact, you can simply have the constructor call the set method and put the work of assigning the number there). If the new number to be assigned is bigger (in terms of digits, not value!) than the old number, you'll have to resize the array to make up for that. You have two variables (one called size, and one called capacity) to keep track of the current size of the BigInt and to track whether or not the array needs to be resized.
So in all it is highly recommended that you have variables that cover these requirements-
*Array of ints
*ArraySize
*Capacity
*Positive flag
*3 different versions of the public function 'set' (one that accepts const char*, one …