class A
{
int a(int, char*);
void c(char);
virtual void d(int) = 0;
};
class B : A
__attribute__((user("NS_override"))) int a(int, char*);
class C : B
__attribute__((user("NS_override"))) void c(char);
class D : A
__attribute__((user("NS_override"))) void d(int);