Before anything, I would recommend you start by looking at OpenCV's documentation. Since you do understand Python, they have tutorials covering the different stages of feature matching as shown here. Read through all of them and truly grasp the setup and get a high level algorithm understanding. If you'd like to dive even deeper, they cite the respective publications and you can go read.
If the OpenCV tutorial is a little too dense for you, look at this blogpost instead. It's written in Python though.
Now, here's a C++ explanation & implementation that covers what you are looking for and even adapted an object tracker as well. The code is easy to understand and refractor should you not want the tracker.
If the above code is too convoluted, they have a simpler C++ version with just the feature matcher.
Now, keep in mind the above mentioned guides only use a small portion of the overall framework. If you want to test it out with different settings to see which one would work best with your problem-set, the documentation provides the framework architecture for feature detector.
I'll let you find the corresponding matcher framework.
Happy coding, cheers!
PS: In some of the OpenCV sites I have mentioned above, you can change it so as the content reflects your specified library version.
see this and this