CPP friend mechanism article