在c++中,结构可以有构造函数吗?
我一直试图解决这个问题,但我没有得到语法。
在c++中,结构可以有构造函数吗?
我一直试图解决这个问题,但我没有得到语法。
当前回答
是的。结构就像一个类,但在类定义和继承时默认为public::
struct Foo
{
int bar;
Foo(void) :
bar(0)
{
}
}
考虑到你的另一个问题,我建议你阅读一些教程。他们会比我们更快更全面地回答你的问题。
其他回答
是的,c++中的结构和类是相同的,除了结构成员默认是公共的,而类成员默认是私有的。在类中可以做的任何事情,在结构中也应该可以做。
struct Foo
{
Foo()
{
// Initialize Foo
}
};
在c++中,struct和c++类只有一个区别,默认情况下,struct成员是public,类成员是private。
/*Here, C++ program constructor in struct*/
#include <iostream>
using namespace std;
struct hello
{
public: //by default also it is public
hello();
~hello();
};
hello::hello()
{
cout<<"calling constructor...!"<<endl;
}
hello::~hello()
{
cout<<"calling destructor...!"<<endl;
}
int main()
{
hello obj; //creating a hello obj, calling hello constructor and destructor
return 0;
}
struct TestStruct {
int id;
TestStruct() : id(42)
{
}
};
struct HaveSome
{
int fun;
HaveSome()
{
fun = 69;
}
};
我宁愿在构造函数中初始化,这样就不需要保持顺序。
是的。结构就像一个类,但在类定义和继承时默认为public::
struct Foo
{
int bar;
Foo(void) :
bar(0)
{
}
}
考虑到你的另一个问题,我建议你阅读一些教程。他们会比我们更快更全面地回答你的问题。