我有一个使用面向对象形式编写的旧版C库。典型的函数如下:
LIB *lib_new();
void lib_free(LIB *lib);
int lib_add_option(LIB *lib, int flags);
void lib_change_name(LIB *lib, char *name);
我想在我的C++程序中使用这个库,因此我认为需要一个C++封装器。 以上所有内容似乎都可以映射到以下内容:
class LIB
{
public:
LIB();
~LIB();
int add_option(int flags);
void change_name(char *name);
...
};
我以前从未编写过 C++ 封装 C 的代码,并且找不到太多关于此的建议。这种创建 C++/C 封装器的方法是否是好的、典型的或者明智的选择?