Ne.app NeANT
The Ne.app NeANT User module of the NeANT distribution.
Main Page
Related Pages
Topics
Namespaces
Data Structures
Files
File List
Globals
EXTERNAL_HEADERS
RSL
etc
config
src
NESTED_CLASS_ACCESS.cpp
Go to the documentation of this file.
1
// checking member class access
2
3
25
struct
A
26
{
27
private
:
28
enum
{
e
};
29
static
int
f
(
int
i
) {
return
i
; }
30
31
protected
:
32
enum
{
g
};
33
static
int
h
(
int
i
) {
return
i
; }
34
35
public
:
36
struct
AA {
37
// check that the compiler implements the resolution of cwg issue 45
38
// http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#45
39
static
int
ag
() {
return
f
(
e
); }
40
static
int
ah
(
A
a
) {
return
a
.f (
e
); }
41
};
42
};
43
44
45
struct
B
:
A
46
{
47
struct
BB
{
48
// exercise the same in a derived class
49
static
int
bg
() {
return
h (0); }
50
static
int
bh
(
B
b
) {
return
b
.h (
b
.g); }
51
};
52
};
53
54
55
int
foo
()
56
{
57
return
A::AA::ag () + A::AA::ah (
A
()) + B::BB::bg () + B::BB::bh (
B
());
58
}
i
#define i
Definition
17.names.cpp:126
g
#define g
Definition
17.names.cpp:120
e
#define e
Definition
17.names.cpp:118
f
#define f
Definition
17.names.cpp:119
a
#define a
Definition
17.names.cpp:109
b
#define b
Definition
17.names.cpp:110
foo
int foo()
Definition
NESTED_CLASS_ACCESS.cpp:55
A
Definition
NAMESPACE.cpp:25
B
Definition
NAMESPACE.cpp:31
C::BB
void BB(B::BB)
Definition
NAMESPACE.cpp:43
A::AA::ag
static int ag()
Definition
NESTED_CLASS_ACCESS.cpp:39
A::AA::ah
static int ah(A a)
Definition
NESTED_CLASS_ACCESS.cpp:40
A::h
static int h(int i)
Definition
NESTED_CLASS_ACCESS.cpp:33
B::BB::bg
static int bg()
Definition
NESTED_CLASS_ACCESS.cpp:49
B::BB::bh
static int bh(B b)
Definition
NESTED_CLASS_ACCESS.cpp:50
Generated by
1.9.8