For Forward contract, I agree with @Matt that its delta is exactly one.
This can be seen by the usual no-arbitrage argument, where long 1 Forward contract, short 1 underlying, and invest the shortsell proceeding in cash account at time 0. Then at Forward maturity T, everything will be settled with zero P&L. (i.e. use cash account at T to payoff forward price payment F, get underlying, and use it to close shortsell position.)
As during the entire life of this self-financing hedging portfolio, I only shortsell 1 underlying, therefore the hedge is exactly delta one at any time.
For Futures contract however, the hedge is not exactly delta one, but exp{r(T-t)}
For a long position in Futures contract, the interim cash flows from marked-to-market will go into the cash account. This part will grow by risk free interest rate (assuming it is not random). Hence, there is no hedge to be considered for these cash flows as it is not a Stochastic term. (although it does impact the Futures price as @Matt pointed out due to correlation between interest rate and underlying, but it is another question.)
The only Stochastic term in long Futures position, is the change of Futures price (one can show that dF=sigmaFdB). It is well known that F=S*exp{r(T-t)}. For every 1 unit change of S, Futures price will change by exp{r(T-t)}, and that contributes to the change in value of Futures position.
Thus, the delta of the Futures contract, is exp{r(T-t)}
Because the delta is time-dependent, the hedge will be dynamic and require frequent adjustment to hedge position, as compared to a static hedge of Forward position (always delta one).
I have another proof from my professor, but I think I can only share that privately. :)