是struct的默认构造函数,就像C++中的类一样

vka*_*l11 0 c++

C++ struct是否也像类一样调用构造函数(默认,复制构造函数)和析构函数,或者它们遵循结构的C语言指南?所以在下面的例子中,是一个名为的默认构造函数?

Foo structObject; \\Foo is a struct
Run Code Online (Sandbox Code Playgroud)

not*_*row 5

是的,他们这样做.C++中和C++ 之间的唯一区别在于它的成员的可见性.默认会员是公共的,私人的.structclassStructclass

有效地,写作

class A {
public:
//// ...
}
Run Code Online (Sandbox Code Playgroud)

和写作一样

struct A {
//// ...
}
Run Code Online (Sandbox Code Playgroud)

  • 此外,继承的默认访问说明符(如果`struct`继承自某些东西,继承是默认的`public`,而'class`则是'private`). (2认同)