Basically, if this calculate function you talk about will only be used internally in the class, and thus not a part of its interface to the outside world (ie code using the class), then it should be private (if it should be hidden from derived classes as well), or protected (if derived classes should inherit it and be able to use it).