#ifndef __abstractTrace_ah__ #define __abstractTrace_ah__ #include aspect abstractTrace { pointcut virtual methods() = 0; advice execution(methods()) : before() { printf("ADVICE BEFORE: %s\n", JoinPoint::signature()); } }; #endif /* __abstractTrace_ah__ */