Pointers to classes
Objects can also be pointed to by pointers: Once declared, a class becomes a valid type, so it can be used as the type pointed to by a pointer. For example: | |
is a pointer to an object of class
Rectangle
.
Similarly as with plain data structures, the members of an object can be accessed directly from a pointer by using the arrow operator (
->
). Here is an example with some possible combinations:
| |
This example makes use of several operators to operate on objects and pointers (operators
*
,
&
,
.
,
->
,
[]
). They can be interpreted as:
expression | can be read as |
---|---|
*x | pointed to by x |
&x | address of x |
x.y | member y of object x |
x->y | member y of object pointed to by x |
(*x).y | member y of object pointed to by x (equivalent to the previous one) |
x[0] | first object pointed to by x |
x[1] | second object pointed to by x |
x[n] | (n+1 )th object pointed to by x |
Most of these expressions have been introduced in earlier chapters. Most notably, the chapter about arrays introduced the offset operator (
[]
) and the chapter about plain data structures introduced the arrow operator (
->
).