Le basi sono quelle necessarie ad usare un linguaggio di programmazione ad oggetti. Per prima cosa devi imparare il c++ come linguaggio di programmazione, per sviluppare programmi con interfaccia grafica sotto windows puoi usare o un ambiente come visualc++/visual c++.NET, con le libreire grafiche messe a disposizione da questo ambiente, o anche altri ambienti in cui installi una libreira grafica, come wxWidgets, per produrre le interfacce. Sotto linux puoi usare varie librerie, come gtk, QT, le stessa wxWidgets; tutte queste sono multipiattaforma (cioè le puoi usare sia su linux che su windows).