The book suggested for a class has bad reviews, should I use it or another?
Especially as a beginner, you should really get the recommended book. It is very likely that the course will follow the book rather closely, and trying to study the same material from a different book is usually not easy if you just started to program. If you think that the recommended text book is really bad, you can always get some other learning material in addition.

Some more explanation if you happen to think "C++ is C++ - it shouldn't matter which book the OP uses to study the same tool". Well, problems arise if the text book the OP studies uses a different didactic concept / ordering of content than the course. For instance, I am teaching Introduction to Programming in Java. Our specific text book introduces OOP notions, such as classes and methods, much earlier than most books. Students that choose to study using different books often end up being extremely confused in class, because their books never mention class hierarchies until half-way through while they are all over the place in in-class examples. Another aspect is that most programming books have their idiosyncrasies in  terms of how code is formatted, how certain basic ideas should be expressed, what "good" and "bad" programming concepts are. Advanced programmers can easily abstract from such idiosyncrasies, but they tend to confuse the heck out of beginners when applied inconsistently.