Haven't needed a tutorial in a long time, and back then it was a textbook. Try something from this list of tutorials:
https://www.udemy.com/topic/C-plus-plus-tutorials/Working through one or two of those should be enough. Once you have the basics down there's the whole issue of the best way to solve particular problems, but that's not something most tutorials cover.
My main advice is: don't use the inheritance mechanism very much. Use data inside objects to customize behavior instead of inheritance (those data are objects themselves though). When you learn about object oriented design there's a tempation to make
everything into deeply-nested inheritance trees. This is just a bad idea for effective programming in general.
Design pattern theory is the next step after basic c++. Sample link:
C++ Programming/Code/Design PatternsDesign Patterns aren't tied to any language or even object-oriented languages, they're best-practice general structures to solve specific problems. There are a lot of patterns available, and they basically structure how to think about specific problems so that you're not re-inventing the wheel or making stupid newbie mistakes. There are a lot of known patterns, but like many things, some are more common than others, and you'll end up rolling out the same few patterns for 90% of things you need to make.
If you're doing a programming olympiad, you would probably benefit from knowing this approach to program design.