Du erstellst eine rein virtuelle Basisklasse, davon dann eine abgeleitete Klasse, die die Methoden implementiert. Dazu machst du eine Funktion, die in der
DLL eine Instanz der Klasse erzeugt und zurückgibt. Lediglich diese Funktion musst du exportieren. In deinem Hauptprogramm muss ebenfalls die Deklaration der rein virtuellen Basisklasse bekannt sein. Dann nimmst du einfach eine Objektvariable der rein virtuellen Klasse, und weist den Rückgabewert deiner exportierten Funktion zu. Und schon kannst du die Methoden in der
DLL aufrufen.
edit: Der Vollständigkeit halber sei erwähnt, dass du auf diese Weise bei jedem Methodenaufruf eine Zeigerindirektion hast, was aber in fast allen Fällen kein zeitkritisches Problem darstellen sollte.