Function for C++ struct

后端 未结 2 481
无人共我
无人共我 2020-12-12 13:15

Usually we can define a variable for a C++ struct, as in

struct foo {
  int bar;
};

Can we also define functions for a struct? How would we

相关标签:
2条回答
  • 2020-12-12 13:39

    Yes, a struct is identical to a class except for the default access level (member-wise and inheritance-wise). (and the extra meaning class carries when used with a template)

    Every functionality supported by a class is consequently supported by a struct. You'd use methods the same as you'd use them for a class.

    struct foo {
      int bar;
      foo() : bar(3) {}   //look, a constructor
      int getBar() 
      { 
        return bar; 
      }
    };
    
    foo f;
    int y = f.getBar(); // y is 3
    
    0 讨论(0)
  • 2020-12-12 13:43

    Structs can have functions just like classes. The only difference is that they are public by default:

    struct A {
        void f() {}
    };
    

    Additionally, structs can also have constructors and destructors.

    struct A {
        A() : x(5) {}
        ~A() {}
    
        private: int x;
    };
    
    0 讨论(0)
提交回复
热议问题