U osnovi, delegat u c# je samo niz pokazivača na funkciju.
Možda bi mogao da napraviš klasu koja održava te pokazivače i omogućava ti i sintaksu za incijalizaciju delegata (+=). Mogao bi možda i da napraviš izvedene klase za različite tipive pokazivača (kao u c# delegat recimo za događaje miša) u zavisnosti od toga gde ti to konkretno treba, ali lično mislim da je trošenje vremena implementacije tako nečega u c++, delegati su u c# uvedeni kao jednostavniji metod rada sa event-driven kontrolama.
Lepota je u jednostavnosti.
Cis.