I'm sure many will agree, facial recognition is a hard task to acomplish; particularly in C++ as this (without any libraries) would require you to build such from the ground upwards in order to give come close to an expected outcome, which is why most researchers use Matlab etc..
That being said, there is a very good, and useful library ouut there called openCV: Here which will give you the toolset in order to complete this. The good thing about openCV is it is open source, and, thus means that there are 100's of documentation centered on Facial Recognition and image recognition etc.. Take a look at this: Here as an example.
Like voice recognition, facial recognition is one of those so-called NP-Hard problems. IE, there are so many variables involved that you cannot state categorically that any image matches any face. You can only state a probability that an image matches a particular face. Probabilities are like statistics (and are part of statistics), and in statistics we say that "there are lies, damned lies, and then there are statistics"... Even the best facial recognition algorithms are not very good, yet. So, if you are doing a graduate-level thesis on the subject, or someone is paying you a gazillion dollars to do it, then go for it! If not, then don't waste your time.