1. Уроки по классам… именно по классам? Присоединяюсь к совету про Pattern Design. Я в свое время начал заниматься по довольно глупым книжкам типа «С++ за три дня» с заданиями. Они глупые и мало дают, но простые и с них можно начинать. Со Страуструпа начить не стоит — он вообще скорее справочное руководство, которое не читаешь целиком, а по необходимости исследуешь подробно те или иные куски.
2. Указатели более чем актуальны. Без них вообще никуда. С ними обязательно надо уметь грамотно обращаться.
3. Присоединяюсь к совету про задачи. Поставить себе задачу и исследовать, что с ней связано. Без конкретной задачи велик риск закопаться в функционале, а изучать его просто так — значит забить голову зря и забыть все в ближайшее время. Выход — тьюториалы по конкретным технологиям, но их я посоветовать не могу, именно С++ по ним не учил. Можете попробовать прикручивать разные движки, библиотеки, которые делают что-то интересное. По ним обычно есть руководство, как их прикрутить, и это очень полезно. Пописать велосипеды алгоритмические тоже можно. Есть толк в изучении последних стандартов С++. Умные указатели и все такое.
4. Про Github — закрытые репозитории стоят денег, хоть и небольших. Bitbucket для этого дела проще, да и там можно выбрать другую систему контроля версий (Merkurial), хотя я все-таки предпочитаю Git. На работе используем Bitbucket, дома использую Github для задач, которыми планирую с кем-то делиться (совета спросить, оценку дать, помочь и так далее).