基本上我来自C,嵌入式C领域。在这个领域工作了5年之后,我想开始使用C ++。现在,我已经开始学习C ++了。但是Class概念并没有点击我的脑袋。 请建议我如何启动Class概念或一些简单的网站,我可以轻松地启动C ++。 请告诉我一些很好的C ++问题(网站,我可以找到一些C ++练习)。
答案 0 :(得分:5)
看看Definitive C++ Book Guide。由于你有C背景我会推荐Koenig和Moo的“Accelerated C ++”,因为它从一开始就用Modern C ++的理念显示代码。 这可能会帮助您专注于C和C ++之间的差异,并向您展示您将不得不忘记的C习惯的哪些部分。
答案 1 :(得分:2)
如果你想学习C ++,Stroustrups“The C ++ language”是一个非常好的起点imo。我个人也从Scott Meyers的“Effective C ++”和“More Effective C ++”中学到了很多东西
此外,我认为,考虑到您的嵌入式背景,您可能不仅需要“学习语言”,还需要了解面向对象编程。我认为这个领域的基本书之一是Grady Booch的“面向对象的分析和设计”和“四人帮”:Gamma / Helm / Johnson / Vlissides“设计模式”(虽然这两本书都是用Java编写的)
答案 2 :(得分:1)
C ++最初来自c,本书可以帮助您理解c ++:“C ++对象模型内部”
答案 3 :(得分:0)
“类”的概念可以很容易地建模到包含数据成员的C struct
和指向包含函数指针(v-table)的结构的指针,其中所有函数都有一个“隐藏”参数Class* this
。
那就是说,如果你已经熟悉了struct,pointer和function指针,那么类就没那么“神秘”了。
其他一切都是“使用艺术”,并且本身并不与类概念本身相关,而是与如何安排它们以获得有效的可维护代码。
此时你可以
最后一点 Koenig和Moo “Accelerated C ++”一书是一个很好的入门者:它不考虑C,但是如何使用C ++及其库,以及 - 更深入更深入的细节 - 显示这些概念的来源。