Implement the following design in C++ in such a way that thefront-end programmers can create a vector of all the differentconfigurations, prevent exact duplicates from being added, sortthem by volume, and easily print them out using cout.
Note that the constructor for each derived class should call thebase class’s setUnits function. Also, you will need a virtualdestructor for Container. Finally, use the toString functions tomake the cout overload work.
Test these classes thoroughly in the main source file by creatingobjects of all the derived classes on the heap and storing them ina vector as unique pointers to Containers. Test that you haveoverloaded
OR
OR