Your task: Consider a grid of characters, of size 30 characters wide and 30 characters high. The default character in each cell of the grid is ‘0’ (zero). You must develop a C++ project to read in the grid from a file and display the grid to the screen. Your C++ project then must find the non-zero cells in the grid, and the (row,column) location of each non-zero cell. The non-zero characters and their locations must be written to the screen. You should allow for up to 10 non-zero cells. You must have at least two classes in the project, one containing the attributes and methods for a grid, and one containing the attributes and methods for a non-zero cell. The main program will act as a controller to invoke methods in each class. The class diagram in figure 1 shows a sample design for the project. Figure 2 shows a sample grid.