Может быть легче понять, если вы выучили C. Класс, подобный
class C
{
private int _m;
private int _n;
int Meth(int p)
{
return _m + _n + p;
}
}
является по существу синтаксическим сахаром для
typedef struct
{
int _m;
int _n;
// NO function pointers necessary
} C;
void C_Meth(C* obj, int p)
{
return obj->_m + obj->_n + p;
}
Это, по сути, не виртуальные методы, реализованные в объектно-ориентированных языках. Здесь важно то, что методы не являются частью данных экземпляра.