C ++结构函数
通常我们可以为C ++结构定义一个variables,如
struct foo { int bar; };
我们是否也可以为结构定义函数? 我们将如何使用这些function?
是的,除了默认访问级别(成员智能和inheritance智能)之外, struct
与class
是相同的。 (和额外的含义class
使用时,与模板)
一个类所支持的每个function都由一个结构体支持。 你会用同样的方法来使用它们作为一个类。
struct foo { int bar; foo() : bar(3) {} //look, a constructor int getBar() { return bar; } }; foo f; int y = f.getBar(); // y is 3
结构可以像类一样具有function。 唯一的区别是它们默认是公开的:
struct A { void f() {} };
另外,结构体也可以有构造函数和析构函数。
struct A { A() : x(5) {} ~A() {} private: int x; };