since I am currently learning pointers in C++, I am wondering about the syntax. So when I want to use a pointer on an object, I do not have to dereference it, in order to access the class attributes. When I just want to use a pointer on a simple variable, I have to use * for changing its values.
So why do I not have to use the * for the object? Because so I thought I would just change the memory address.
Object:
int age = 20;
User John(age);    
User *ptrUser = &John;
ptrUser->printAge(); // 20 (why no *ptrUser->printAge()  ??? )
cout << ptrUser // 0x123456...
Variables:
int a = 10;
int *ptrA = &a;   
*ptrA = 20;  
cout << a // 20
Thank you very much!
 
     
     
     
    