Objects can be created on the free store and accessed through a typed pointer. This gives more flexibility because it is efficient to pass pointers to functions, and you can explicitly determine the lifetime of the object because an object is created with the call to new and destroyed by the call to delete.
Using objects with pointers
Getting pointers to object members
If you need to get access to the address of a class data member through an instance (assuming the data member is public), you simply use the & operator:
struct point { double x; double y; };
point p { 10.0, 10.0 };
int *pp = &p.x;
In this case struct is used to declare point so that the members are public by default. The second line uses...