I would try to stay up really really late on the day before your flight and sleep in big time. I would them stay up the entire flight to hkg. When in HKG, lounge hop and hopefully you are so tired when you bOard, you can sleep
most of the flight to jnb. That way when you arrive local time, you do not sleep since personally, going to sleep at 7am in JNB is the worst thing you could do. 35 hours travel though. All bets are off. My worst is 37 gate to gate and it is not fun no matter what class you are in.