在C++中,如何创建类实例w调用结构或什么都没有?

Pet*_*tai 1 c++ class instantiation instance pass-by-reference

我正在创建一个类.

此类将用户首选项存储在Struct中.

在创建类的实例时,我希望客户端可以选择创建一个没有传入首选项或传入首选项结构的实例.

我可以用指针来做这个,但是我想知道如何通过引用将preferences结构传递给类来实现它.

无论哪种方式,一旦班级收到偏好,它就会制作一份供自己使用的副本.

这是指针的样子

struct preferences {};
class Useful 
{
public:
    Useful(preferences const * = NULL);
...
}

...

int main() 
{
   preferences * testPrefs;
   ...
   Useful testClass(testPrefs);
   // or if no prefs: Useful testClass;
   ...
}
Run Code Online (Sandbox Code Playgroud)

那么在创建默认值为no struct的类的实例时,如何通过引用传递首选项struct?这是我坚持的行,因为NULL和*NULL都不起作用:

class Useful 
{
public:
    Useful(preferences & = ???????);
Run Code Online (Sandbox Code Playgroud)

Pav*_*aev 7

Useful(const preferences& p = preferences(...));
Run Code Online (Sandbox Code Playgroud)