I would consider C++ a low to mid level language.
You can do really low level things with assembler instructions, you can move up quite a bit and do stuff with C, then move up even further and take advantage of C++ with all the functionality of OOP and STL stuff which has heaps of really good things.
There are lots of higher level scripting languages, here is an example of one of them:
On UNIX / Linux there is an 'awk' shell command. This is a "pattern matching action" scripting language - specify a pattern, with all lines that match the pattern - perform the action.
The patterns can be easily expressed - like it is very simple to match all lines between 'start' 'stop' patterns for example. They can also be expressed to fine detail - the syntax is like C, so the actions can be detailed as well.
This results in quite amazing stuff that can be done with 1 line of awk, that would have taken 100's or 1000's of lines of code in other languages.
The variable "level' of C++ is handy for a beginner because they can either get quite a bit done by taking advantage of the STL with simple features of the string container like concatenation with the + operator (as a very basic example) , or they can write at a lower level which quite often what is required for assignments.
Teachers often get students to write their own strcat or sort functions so they have a very good idea of how the library versions might work, rather than the trivial use of STL functionality.
As always, it depends on what you are doing, as to what level of language or which one to use - there are pros and cons for all of them.