Hi, i'm "kind of" in a similar situation, i know C++, i learn Qt but the progress is not as fast as i wanted to be.

From my "experience" (learning experience) it isn't a book to teach you that (you should read many and practice, do exercises...), but i really recommend the C++ programming language written by Bjarne Stroustrup, it contains some chapters about design (i'm not at that chapters yet, so i can't say if i like it or not )

Anyway, my opinion is that you should read many books, work with libraries that are known to be good (like Qt and Boost) and try to get a programming job, you will learn from experienced programmers (read/answer to forums might compensate a little bit, if you are in a similar situation like me and can't find a job)