在c++中,结构可以有构造函数吗?
我一直试图解决这个问题,但我没有得到语法。
在c++中,结构可以有构造函数吗?
我一直试图解决这个问题,但我没有得到语法。
当前回答
类、结构和联合在下表中简要描述。
其他回答
是的,c++中的结构和类是相同的,除了结构成员默认是公共的,而类成员默认是私有的。在类中可以做的任何事情,在结构中也应该可以做。
struct Foo
{
Foo()
{
// Initialize Foo
}
};
struct HaveSome
{
int fun;
HaveSome()
{
fun = 69;
}
};
我宁愿在构造函数中初始化,这样就不需要保持顺序。
是的,但是如果你在工会中有你的结构,那么你就不能。它和类是一样的。
struct Example
{
unsigned int mTest;
Example()
{
}
};
工会将不允许在结构中使用构造函数。你可以在联合上创建一个构造函数。这个问题与联合中的非平凡构造函数有关。
struct TestStruct {
int id;
TestStruct() : id(42)
{
}
};
在c++中,我们可以像类一样声明/定义结构,并拥有结构的构造函数/析构函数,并在其中定义变量/函数。 唯一的区别是定义的变量/函数的默认作用域。 除了上述差异之外,大多数情况下,您应该能够使用结构来模仿类的功能。