Naja, sockets haben nicht wirklich was mit C/C++ zu tun.
Man muß hier unterscheiden:
1. Sprachliche Konzepte wie Objektorientierung. Das hört nicht damit auf, daß man eine Klasse definieren kann. Objektorientierung ist ein Konzept. C++ bietet noch einige weitere Dinge, wie Templates, Exceptions, die STL usw. die auch ähnlich in anderen Programmiersprachen auftauchen.
2. Anwendung verschiedener APIs. Dazu gehört z.B. Sockets. Sockets sind ein Service des Betriebssystems. Das bietet dem Programmierer ein API an, um damit was sinnvolles tun zu können.
Neben Sockets gibt es noch hunderte von APIs für alle möglichen Zwecke.
Zu Punkt 1 gibt's eine Menge Bücher. Z.B. was allgemeines:
http://www.galileocomputing.de/openbook/oo/
Oder etwas praxisnaher etwas über Entwurfsmuster (Design Patterns). Das sind quasi Anleitungen, wie bestimmte Probleme lösen kann:
http://wwwswt.informatik.uni-rostock.de/deutsch/Infothek/Entwurfsmuster/patterns/index.html
Sehr intressant sind auch die Cookbooks:
http://www.oreilly.com/catalog/cplusplusckbk/#top
Da werden Lösungen für viele alltägliche Probleme aufgezeigt. Da kann man sich eine Menge abschauen.
Zu 2:
Du wirst immer wieder auf unbekannte APIs treffen, in die Du Dich einarbeiten mußt. Ich würde mich da jetzt nicht auf eine API wie Sockets versteifen. Such Dir ein Thema, das Dich intressiert und versuch das unzusetzen. Das muß nichts kompliziertes sein. Ein Karten/Brettspiel, eine Verwaltung für die Videosammlung, etc. Dabei triffst Du dann zwangsläufig auf Probleme, die Du mit Hilfe verschiedener APIs oder auch Bibliotheken lösen mußt
Wenn Du Windowsprogramme schreibst, dann ist das Windows-SDK (~MSDN) Plicht. Die Doku ist sehr umfangreich und beschreibt eine Menge verschiedener APIs inkl. vieler Beispiele. Schmökere einfach mal in der Windows-SDK und Du wirst eine Menge intressanter Themengebiete finden.