A więc czym jest Dependency Injection? Jest to wzorzec projektowy który likwiduje zależności między klasami. W tradycyjnym programowaniu klasy łączy się po przez dziedziczenie, są one połączone już na etapie ich projektowania, jakakolwiek podmiana klasy wymaga edytowania ich kodu.
Natomiast wykorzystując DI klasy łączy się dopiero w głównym programie, podczas tworzenia ich instancji. W powyższym przykładzie wskaźnik do instancji klasy 
MyLogger przekazujemy do konstruktora klasy 
cWork,jest on zapisywany pod wskaźnikiem 
_log w tym momencie powstaje połączenie obiektów. 
cWork zapisuje u siebie wskaźnik do 
MyLogger pod 
cLogger* _log. W monecie wywołania funkcji 
loguj z 
cWork, wywoływana jest funkcja 
log z 
MyLogger.
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.