codice:
ChessPiece ** Game(char ** cGame)
{
	ChessPiece ** game;
	game=new ChessPiece *[8];
	for(int i=0;i<=7;i++)
	{
		game[i]=new ChessPiece[8];
		for(int j=0;j<=7;j++)
		{
			char piece=cGame[i][j];
			switch(piece)
			{
			case 'k':
				{
					game[i][j]= King(piece);
					break;
				}
			case 'K':
				{
					game[i][j]= King(piece);
					break;
				}
			case 'q':
				{
					game[i][j]= Queen(piece);
					break;
				}
			case 'Q':
				{
					game[i][j]= Queen(piece);
					break;
				}
			case 'b':
				{
					game[i][j]= Bishop(piece);
					break;
				}
			case 'B':
				{
					game[i][j]= Bishop(piece);
					break;
				}
			case 'r':
				{
					game[i][j]= Rook(piece);
					break;
				}
			case 'R':
				{
					game[i][j]= Rook(piece);
					break;
				}
			case 'n':
				{
					game[i][j]= Knight(piece);
					break;
				}
			case 'N':
				{
					game[i][j]= Knight(piece);
					break;
				}
			case 'p':
				{
					game[i][j]= Pawn(piece);
					break;
				}
			case 'P':
				{
					game[i][j]= Pawn(piece);
					break;
				}
			case '.':
				{
					game[i][j]= ChessPiece();
					break;
				}
			}
		}
	}
	return game;
}
Questa è la chiamata al metodo move:
game[i][j].move(i,j,game);