Very Big Numbers, part one. First step: adapt the special sorting array class that you made for assignment 1 (or 3) by using templates, so that instead of only being able to store pointers to person objects, it can now hold any kind of data. Forget about the from_file method, that is too specific to the person data type. I will write the rest of this as though your class is called SSA (special sorting array), although you can call it anything you like within reason. + Make sure that SSA still works as for the first assignment + Make sure than SSA works; only a simple test is required + Make very sure that SSA works perfectly. Put your definition of SSA into its own .h file, so it won't clutter up the rest of the assignment, and so you will be less likely to have an editing mistake and ruin it without even noticing. Second step: Define a class that represents very big integers, and allows basic arithmetical operations to be performed on them. Your BigNum class must use an SSA as defined above to store the individual digits of the number. There could literally be thousands of digits in each number, and it needs to be stored with perfect accuracy. For this assignment (part one) you can pretend that negative numbers just don't exist. If I try to work out 5 - 9999999999999999999999999, it doesn't matter what happens. Your BigNum class must have: + Three constructors: BigNum() just sets to zero BigNum(string) the string delivers the digits BigNum(int) for small initial values + Three "become" methods, that assign a new value to an existing bigint Become(BigInt &) Become(string) Become(int) + a useful print() method + getdigit(int), and setdigit(int, int) for safely accessing individual digits + add(BigInt &) this bigint has the parameter bigint added to it. + sub(BigInt &) this bigint has the parameter subtracted from it. + mul(int) this bigint is multiplied by the parameter, which is an ordinary int, not a bigint, guaranteed to be no greater than 1,000,000. + shift(int) all the digits are shifted left by the indicated number. 12345 shifted by 4 becomes 123450000 12345 shifted by -2 becomes 123 Avoid repetitive code!