// Special g++ Options: -fhandle-signatures | |
// GROUPS passed gb sigptr assignment | |
// Test assigning objects of different classes to local signature pointer. | |
extern "C" | |
{ | |
int printf (char *, ...); | |
} | |
class C | |
{ | |
public: | |
char * f (void) { return "PA"; } | |
}; | |
class D | |
{ | |
public: | |
char * f (void) { return "SS"; } | |
}; | |
signature S | |
{ | |
char * f (void); | |
}; | |
int main (void) | |
{ | |
C a; | |
D b; | |
S * p; | |
int i; | |
for (i = 0; i < 2; i++) | |
{ | |
if (i == 0) | |
p = &a; | |
else | |
p = &b; | |
printf ("%s", p->f ()); | |
} | |
printf ("\n"); | |
return 0; | |
} |