The national cricket team of South Africa currently has two captains (in 2012). The Test match captain is opening batsman Graeme Smith; and the one day international and Twenty20 captain is batsman and occasional wicket keeper AB de Villiers.
Graeme Smith
Graeme Smith is regarded as one of the finest opening batsman in world cricket, performing well in all conditions since his debut in 2002. His good performances (along with the retirement of several senior players) led to him being handed the captaincy at the age of just 22, making him South Africa's youngest captain in history. Smith has retained the captaincy ever since and has led South Africa to become one of the best, if not the best, test match side in the world.
Graeme Smith has almost always been rated in the top ten of the ICC batting rankings and continues to make runs all over the world. He resigned as ODI and Twenty20 captain after South Africa's elimination from the 2011 World Cup.
AB de Villiers
AB de Villiers was installed as the captain of South Africa's ODI and Twenty20 sides in 2011. He has been a regular in South Africa's test and one day teams since his debuts in 2004 and 2005 respectively. He is primarily known as a destructive middle order batsman, although he has occasionally opened the batting and kept wicket for his country too. De Villers still holds the record for the most test innings without getting a duck, and the record of highest individual score by a South African batsman.
Test Captain
Graeme Smith
ODI & Twenty20 Captain
AB de Villiers