Move: Rule { myFunction(Tank *t); } Tank::customRule(Rule *r) { r->myFunction(this); }