Предположим, что у нас есть класс:
class Foo
{
private:
int a;
public:
void func()
{
a = 0;
printf("In Func\n");
}
}
int main()
{
Foo *foo = new Foo();
foo->func();
return 0;
}
Когда объект класса Foo создается и инициализируется, я понимаю, что целое число a будет занимать 4 байта памяти. Как хранится функция? Что происходит в памяти/стек/регистры/с помощью счетчика программ при вызове функции foo- > func()?