Чаще всего, плагины для программ на C++ реализуют при помощи динамически подключаемых библиотек.
Следовательно, начать следует с изучения способов динамической загрузки таких библиотек. Некоторые фреймворки (wxWidgets, Qt) предоставляют кроссплатформенные решения для организации плагинов.