I Can't properly understand what is exactly happening when class instances are creating and when an instances methods are invoking.

For example there's a folowing c++ code:

```
class A {
     int a;  
     void print_my_a();

  public:
     A();
};

void A:: print_my_a() {
  cout << a << '\n';  
}

A::A(): a(10) {}

int main() { 

  A Aobj1 = A();
  A Aobj2 = A();

  Aobj1.print_my_a();
  Aobj2.print_my_a();

  return 0;

}

```

so the question is:  

Do each `Aobj1` and `Aobj2` instance refer to only one `print_my_a()` method ? or they both have their own `print_my_a()`?