【问题标题】:Function for C++ structC++ 结构的函数
【发布时间】:2012-10-19 00:32:02
【问题描述】:

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

struct foo {
  int bar;
};

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

【问题讨论】:

    标签: c++ function struct


    【解决方案1】:

    是的,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
    

    【讨论】:

      【解决方案2】:

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

      struct A {
          void f() {}
      };
      

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

      struct A {
          A() : x(5) {}
          ~A() {}
      
          private: int x;
      };
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-22
        • 2013-06-07
        • 2010-11-10
        • 1970-01-01
        • 1970-01-01
        • 2012-02-27
        • 2013-10-15
        • 1970-01-01
        相关资源
        最近更新 更多