将非默认构造函数调用为非指针变量

时间:2014-12-04 14:20:02

标签: c++ pointers constructor

我使用的库在示例中包含以下语句 -

SqlDatabase db(DB_FILE_NAME, false);

构造函数定义为

SqlDatabase(const char* szFile, bool useExclusiveWAL = true );

但是我想把这个对象作为成员变量。这意味着我想分别将定义和声明分开。我可以这样做 -

SqlDatabase* db;
db = new SqlDatabase(DB_FILE_NAME, false);

但是,如果我不想让它成为非指针变量,就像示例一样?我该怎么办? 例如:

SqlDatabase db; //doesn't work in cpp, since there isn't any default constructor, but I can put it in header
db = SqlDatabase(DB_FILE_NAME, false); //Doesn't work
PS:我确信这太基础了,但我仍然想知道这一点。我搜索过SO,但不知道这种说法是什么。

更新
我刚刚检查了链接的问题,但我没有得到我要求的和成员初始化列表之间的任何链接。我只想在标题中声明和cpp中的单独定义。我认为在相关问题中没有回答这个问题。

0 个答案:

没有答案