C ++中的Struct构造函数?
struct 是否可以在C ++中使用构造函数? 我一直试图解决这个问题,但我没有得到语法。 #1楼 struct TestStruct { int id; TestStruct() : id(42) { } }; #2楼 在C ++中, class 和 struct 之间的唯一区别是成员和基类在类中默认是私有的,而默认情况下它们在结构中是公共的。 所以结构体可以有构造函数,语法与类相同。 #3楼 是。 结构就像一个类,但默认为 public: :,在类定义中和继承时: struct Foo { int bar; Foo(void) : bar(0) { } } 考虑到你的其他问题,我建议你阅读 一些教程 。 他们会比我们更快,更完整地回答您的问题。 #4楼 是的,C ++中的结构和类是相同的,除了结构成员默认是公共的,而类成员默认是私有的。 你可以在一个结构中做的任何事情。 struct Foo { Foo() { // Initialize Foo } }; #5楼 是的,但如果你的结构是联盟,那么你就不能。 它与班级相同。 struct Example { unsigned int mTest; Example() { } }; 工会不允许结构中的构造函数。 您可以在联合上创建构造函数。 这个问题涉及工会中的非平凡建构者。 来源: oschina 链接: https://my