This is a C++ solution to the knights problem:
Given two positions, source and destination, on a blank chess board, list the sequence of legal moves a knight would have to move from source to destination.
This is essentially a problem of finding the shortest path between two nodes in a connected graph and is solved using breadth first search.
[See here] (http://thesundayprogrammer.com/2015/03/02/breadth-first-search/) for a more detailed explanation.