Large Integer C++ Class (int4k) Using the attached .cpp and .h files as a starting point, implement the int4k class which supports addition and multiplication of unsigned integers of up to 4,096 digits. The class declaration is as follows: class int4k { friend std::ostream& operator<< (std::ostream& os, const int4k& val); friend std::istream& operator>> (std::istream& is, int4k& val); protected: char digits[4096]; // 4095 digits, plus 1 for overflow void init_digits(); public: int4k(); int4k(int val); int4k operator+ (const int4k& val) const; int4k operator* (const int4k& val) const; int4k& operator+= (const int4k& val); int4k& operator*= (const int4k& val); }; You may modify the above class declaration, but your class must support the functions shown. For implementation of addition and multiplication, use inline assembly and instructions presented in the text in section 7.5. Turn in both your modified int4k.cpp and int4k.h files as individual attachments.