Not quite. The
engine and some performance-heavy aspects (i.e. AI framework) are written in c++, yes, but oftentimes, the actual game logic (puzzles, triggers, overall level logic) is written in some very high level scripting language, i.e. lua (GTA), blueprint (Unreal games), some custom language (Galaxy - Starcraft), or even python/ruby/javascript.
Why? Because games nowadays are based on the "data-driven" approach, meaning: the actual game logic has to be data too (resource/asset, you name it), so it can be modified quickly and easily while designing the gameplay - without recompiling the game code. (btw, that's why certain games are so easy to mod)
But why? Because the game logic is nowadays not coded by the programmer, but the level scripter (formerly: level designer). The programmer is now doing engineering stuff and provides a bullet proof framework for the scripters to do their job.
Again, why? Because a content-heavy AAA project needs much more scripting work than actual engineering. Also the programmer salary is much higher than the level scripter's, so. . .
But. . . this is ridiculous! So game development is like some g*ddam factory assembly line?
EXACTLY! That's why so many burned out AAA game developers revert back to indie and do stuff "just like in the good old days".