Решая массивы не надо ООП. хотя тут как посмотреть. даже объекты cin и cout имеют сложную наследовательную цепочку до родителя... Изучая С++ будешь невольно изучать и Си.
В вопросах по C++ не обязательно вести речь об ООП. От предварительно изученного Си даже будет вред, если вы будете тащить оттуда такие решения, как динамическое выделение памяти (его и в Си-то нужно избегать), строки на массивах charов, использование API ОС для GUI и сети, и всякие велосипеды. А быть хорошим архитектором не каждому дано. Некоторые могут это только в тесной интеграции с командой, даже если у них самих большой стаж - но в качестве инди. Смысла начинать с Си не вижу. Опять же, непонятно, как это может помочь использовать ООП.
Учи С++. Тот же Си, но расширенный: добавлены новые фичи, библиотеки, и тп. Изучишь структурное программирование - будешь заниматься ООП. Конечно, есть различия, но не критичные. Например, изменены правила описания функций (С++ "не видит" функции в той функции, после которой они описаны). Но это очень легко решается: нужно всего лишь описать прототип. И тп.