C++ 函数如何在c+中的类声明内声明执行+;?

C++ 函数如何在c+中的类声明内声明执行+;?,c++,C++,某些代码包含在类声明中调用的函数 class Example { public: bool keyBlobClosed = deviceClosed()?true:false; }; 在这种情况下,deviceClosed()函数在创建对象或在内存中创建类声明时执行?这称为。自C++11以来,它允许在非静态成员(正如您在这里使用的)上使用 这相当于提供执行相同初始化的成员初始值设定项列表: class Example { public: bool keyBlobClose

某些代码包含在类声明中调用的函数

class Example
{
   public:
    bool keyBlobClosed = deviceClosed()?true:false;
};
在这种情况下,deviceClosed()函数在创建对象或在内存中创建类声明时执行?

这称为。自C++11以来,它允许在非静态成员(正如您在这里使用的)上使用

这相当于提供执行相同初始化的成员初始值设定项列表:

class Example {
public:
    bool keyBlobClosed;
    Example() 
        : keyBlobClosed(deviceClosed())
    {
    }
};
显然,这将导致在实例化示例时调用deviceClosed()。deviceClosed()的返回值将用于初始化keyBlobClosed。

这称为。自C++11以来,它允许在非静态成员(正如您在这里使用的)上使用

这相当于提供执行相同初始化的成员初始值设定项列表:

class Example {
public:
    bool keyBlobClosed;
    Example() 
        : keyBlobClosed(deviceClosed())
    {
    }
};

显然,这将导致在实例化示例时调用deviceClosed()。deviceClosed()的返回值将用于初始化keyBlobClosed。

这意味着,我不能对抽象类使用“默认成员初始值设定项”?是的,默认成员初始值设定项允许对抽象类使用。这意味着,我不能对抽象类使用“默认成员初始值设定项”?是的,抽象类允许使用默认成员初始值设定项。