Cでも DLL作って処理する時には 相手には データ構造は教えずに
void *のポインタを用意させて
void *hoge=OpenHoge(引数);
 HogeHage(hoge,引数)
みたいなのは、普通だしな

これをオブジェクト指向だななんて 呼ばないでくれ

だって FOpenから学んだんだから