AlphaBeta, thanks for trying. So it does exist. Kudos to real C++. I remember hitting a hard wall when trying to use static variables in Processing.
Nick, Thanks for the explanation. I posted my error message. I should have read a bit more into the message. It says undefined variable.
After some research into the syntax of static variables, it turns out that I needed to define the variable like a regular global variable with:
unsigned long buttons::t_last_action=0;
in my buttons.cpp
I thought if I declare a variable to be static, I don't have to define or initialize it (stupid thoughts). I did. I just have to define the variable and everything works nicely from there. My little world of OO is safe

.
FYI, the variable tracks the last key pad activity on my Phi-1 shield, so if someone wants to program a sleep code, they can just read this variable and decide

Always trying to do something that someone may in the distance future benefit from. That's what us physicists always do

Thanks again.