aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.mike/p3570.C
blob: abccf793cb6b8c302303e110c0ae45d4742e8adc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// prms-id: 3570

extern "C" int printf(const char *, ...);

struct A {
   void print() {printf("A");};
};

struct B :  A {
   typedef A superB;
   void print() {superB::print(); printf("B");};
};

struct C :  B {
   typedef B superC;
   void print() {superC::print(); printf("C");};
};

main ()
{
   A a;
   B b;
   C c;

   a.print(); printf("\n");
   b.print(); printf("\n");
   c.print(); printf("\n");
   return 0;
}