In no particular language:  class fooclass  {    int A, B, C, D;    public int GetItemSum()    {      int sum = this.A + this.B + this.C;      this.D = sum;      return this.A + this.B + this.C;    }  }compared to:  struct foostruct  {    public int A, B, C, D;  }  int GetItemSum(foostruct ref fs)  {    int sum = fs.A + fs.B + fs.C;    fs.D = sum;    return sum;  }Is there a deeper difference than syntax and readability? Is OOP essentially groups together sets of functions where the object reference is always an argument?The reason I ask is because I came across some C code that was written this way (essentially using Structs as classes), and I'm still having a hard time understanding if there's an advantage to doing it that way instead of just using C++.
Is there a functional difference between a method and a function that gets passed a struct reference as an argument?
object oriented;c++;c