|
|
is a pointer to an object of class CRectangle.
As it happened with data structures, in order to refer directly to a member of an object pointed by a pointer we can use the arrow operator (->) of indirection. Here is an example with some possible combinations:
|
| a area: 2 *b area: 12 *c area: 2 d[0] area: 30 d[1] area: 56 |
Next you have a summary on how can you read some pointer and class operators (*, &, ., ->, [ ]) that appear in the previous example:
expression | can be read as |
---|---|
*x | pointed by x |
&x | address of x |
x.y | member y of object x |
x->y | member y of object pointed by x |
(*x).y | member y of object pointed by x (equivalent to the previous one) |
x[0] | first object pointed by x |
x[1] | second object pointed by x |
x[n] | (n+1)th object pointed by x |
Be sure that you understand the logic under all of these expressions before proceeding with the next sections. If you have doubts, read again this section and/or consult the previous sections about pointers and data structures.
Classes defined with struct and union
Classes can be defined not only with keyword class, but also with keywords struct and union.The concepts of class and data structure are so similar that both keywords (struct and class) can be used in C++ to declare classes (i.e. structs can also have function members in C++, not only data members). The only difference between both is that members of classes declared with the keyword struct have public access by default, while members of classes declared with the keyword class have private access. For all other purposes both keywords are equivalent.
The concept of unions is different from that of classes declared with struct and class, since unions only store one data member at a time, but nevertheless they are also classes and can thus also hold function members. The default access in union classes is public.
No comments:
Post a Comment