struct C++中的一个函数

Ric*_*ard 0 c++ struct

struct segment{
    int _gcd;
    int _count;
    segment(){
        _gcd=0;
        _count=0;
    }
    segment(int val)
    {
        _gcd=val;
        _count=1;
    }
    void mergee(segment left,segment right)
    {
        _count=0;
       _gcd=gcd(left._gcd,right._gcd);
       if(_gcd==left._gcd)
       {
           _count+=left._count;
       }
       if(_gcd==right._gcd)
       {
           _count+=right._count;
       }
    }
}seg[4*N];
Run Code Online (Sandbox Code Playgroud)

我在CodeForces中找到了Ant Colony问题的解决方案,偶然发现了https://w84iit.wordpress.com/2017/06/20/ant-colony-solutioncodeforces/.让我最困惑的是这struct部分.这是结构中的函数声明吗?我也看到有功能重载struct.我对内部函数不太熟悉struct,因为Google搜索还表明将structs 传递给外部函数更为常见.结构函数如何工作?他们只能修改在里面声明的变量struct吗?我可以退货吗?上面的示例仅使用内部函数struct来修改其变量值.

Bat*_*eba 8

在C++中,structC的概括为一个类.

实际上,a struct和a 之间的唯一区别class是数据成员的默认访问和继承.

所以是的,一个struct可以包含函数,就像一个class罐头.