tmp/tmpdhixm5v3/{from.md → to.md}
RENAMED
|
@@ -1,14 +1,14 @@
|
|
| 1 |
### Nested class declarations <a id="class.nest">[[class.nest]]</a>
|
| 2 |
|
| 3 |
A class can be declared within another class. A class declared within
|
| 4 |
-
another is called a *nested
|
| 5 |
to its enclosing class. The nested class is in the scope of its
|
| 6 |
enclosing class.
|
| 7 |
|
| 8 |
-
[*Note 1*: See [[expr.prim]] for restrictions on the use of
|
| 9 |
-
data members and non-static member functions. — *end note*]
|
| 10 |
|
| 11 |
[*Example 1*:
|
| 12 |
|
| 13 |
``` cpp
|
| 14 |
int x;
|
|
@@ -73,11 +73,11 @@ class E {
|
|
| 73 |
class E::I2 { }; // definition of nested class
|
| 74 |
```
|
| 75 |
|
| 76 |
— *end example*]
|
| 77 |
|
| 78 |
-
Like a member function, a friend function
|
| 79 |
within a nested class is in the lexical scope of that class; it obeys
|
| 80 |
the same rules for name binding as a static member function of that
|
| 81 |
-
class
|
| 82 |
-
|
| 83 |
|
|
|
|
| 1 |
### Nested class declarations <a id="class.nest">[[class.nest]]</a>
|
| 2 |
|
| 3 |
A class can be declared within another class. A class declared within
|
| 4 |
+
another is called a *nested class*. The name of a nested class is local
|
| 5 |
to its enclosing class. The nested class is in the scope of its
|
| 6 |
enclosing class.
|
| 7 |
|
| 8 |
+
[*Note 1*: See [[expr.prim.id]] for restrictions on the use of
|
| 9 |
+
non-static data members and non-static member functions. — *end note*]
|
| 10 |
|
| 11 |
[*Example 1*:
|
| 12 |
|
| 13 |
``` cpp
|
| 14 |
int x;
|
|
|
|
| 73 |
class E::I2 { }; // definition of nested class
|
| 74 |
```
|
| 75 |
|
| 76 |
— *end example*]
|
| 77 |
|
| 78 |
+
Like a member function, a friend function [[class.friend]] defined
|
| 79 |
within a nested class is in the lexical scope of that class; it obeys
|
| 80 |
the same rules for name binding as a static member function of that
|
| 81 |
+
class [[class.static]], but it has no special access rights to members
|
| 82 |
+
of an enclosing class.
|
| 83 |
|