55015

TASK 1: Write a new C++ source file "image.cpp" that contains a complete implementation of the Image class declared in the provided C++ header file "image.hpp". Your file must include "image.hpp" without any modifications (i.e., #include "image.hpp"). TASK 2: Write a new C++ source file "image2.cpp" that contains a complete implementation of the Image class declared in the provided C++ header file "image2.hpp". Your file must include "image2.hpp" without any modifications. TASK 3: The supplied file "image3.hpp" differs from "image2.hpp" only in that it declares the private pixel data pointer to be of type uint8_t**. You must reimplement the Image class using a 2D array. This will make memory allocation code a little more complex , but make accessing pixels easier and arguably make the code more readable. Certain image operations you implemented in an earlier lab could be faster or easier using 2D arrays: you do not have to implement them here, but you should think about which ones would benefit. Write a new C++ source file "image3.cpp" that contains a complete implementation of the Image class declared in the provided C++ header file "image3.hpp". Your file must include "image3.hpp" without any modifications.