C ++结构的函数

时间:2012-10-29 16:41:15

标签: c++ function struct

通常我们可以为C ++结构定义一个变量,如

struct foo {
  int bar;
};

我们还可以为结构定义函数吗?我们如何使用这些功能?

2 个答案:

答案 0 :(得分:114)

是的,structclass相同,但默认访问级别(成员方式和继承方式)除外。 (以及与模板一起使用时的额外含义class

结构支持类支持的每个功能。你使用的方法与你在课堂上使用的方法相同。

struct foo {
  int bar;
  foo() : bar(3) {}   //look, a constructor
  int getBar() 
  { 
    return bar; 
  }
};

foo f;
int y = f.getBar(); // y is 3

答案 1 :(得分:29)

结构可以像类一样具有函数。唯一的区别是它们默认是公开的:

struct A {
    void f() {}
};

此外,结构体也可以有构造函数和析构函数。

struct A {
    A() : x(5) {}
    ~A() {}

    private: int x;
};