C++ 结构的函数

Posted

技术标签:

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

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

struct foo 
  int bar;
;

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

【问题讨论】:

【参考方案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;
;

【讨论】:

以上是关于C++ 结构的函数的主要内容,如果未能解决你的问题,请参考以下文章

C++结构体中定义函数(C++结构体struct与C语言结构体区别)(C++结构体与C++类的区别)(结构体函数)

C++基础3(函数指针结构体)

C++基础3(函数指针结构体)

C++ 结构的函数

C++ 树结构 函数库

具有外部 C++ 函数的 Matlab:coder.ceval 将结构传递给函数