That is exactly what DLLs are for.
You can also attach a manifest to the DLL, so that your program can open the DLL file and just read the XML plugin information from the end of the file.
To learn how to do DLLs with C++, start here:
http://www.google.com/search?q=howto+c%2Fc%2B%2B+dll
The trick with a plug-in architecture is to have your exe also have a plug-in architecture, where important classes/data structures are passable between the DLL and your program. You'll have to design an API (a specific list of functions) that allows the plugin to do things.
The function names will, of course, have to be fairly generic, because each plugin will do something different with them. There will also be some very specific functions to handle memory allocation, passing class data, etc.
Try googling around the type of program you are writing and learn as much as you can about what it is to do
before you start writing very much of your program -- a strict design is most important here.
Hope this helps.