По мимо языка нужно еще иметь представление о базовых алгоритмах и структурах данных.
Понимать, как устроена работа с память да и вообще, как проходит исполнение самой программы.
А что касаемо самого языка, раз есть такие вопросы, значит ты его знаешь не достаточно хорошо, а отсюда и не уверенность в своим силах. Учи ООП С++, что такое виртуальные функции, френдли классы и методы, множественное наследование, перегрузки всякие и т.д.
Так лучше бери проекты на фрилансе, наберешься опыта, знаний и сразу все твои вопросы отпадут, а работать ты всегда успеешь устроится (может junior'ом, а может к тому времени уже и middle)