C++学习之一--基本介绍

      C/C++一般为理工科大一的计算机基础课,其地位相当于数学的加减乘除,语文的汉语拼音一样,因此一定要学习好。以前我们都是先学C语言,然后再学面向对象变成技术,如今很多已经不再首先学C语言而是直接学C++。如此其实也符合时代发展,例如Java和C#就是完全面向对象的,只是需要花费更多时间深入的学习和理解。

     这里,首先介绍一下C++的资源,然后简单的介绍一下需要自学的一些内容。

     教学参考书:C++ - How To Program, 5th Edition (2005).暂时只有英文版。

     书本例题源代码:samples  (初学者,最好还是自己按照书本多写写)

     对于自己学习的内容,最好动手写一写,写完之后将源代码都保存下来。这有三个好处:1.熟悉了内容,动手试验;2.以后如果忘记了,可以找到相关的源码看一眼就能回忆起来;3.模块化的代码以后经常会来copy,例如读写文件、网络连接等,减少了不少时间。我写过的代码基本上都保留着。

     其实这本书不错,将UML、STL、WEB编程也都介绍了。而我以前用的C++就没有这些内容。这对于初学者而言是个很好的指引。

     C++初学其实主要是三部分内容:1.了解C/C++的语法语意,了解如何去写Code。2.学习面向对象编程技术,理解继承、封装、重载、多态、虚函数等基本概念。3.标准C++的一些类库的使用。

     就我个人而言其难点主要是:1.指针的使用,这是一个很复杂的概念,不仅有指针,还有指针的指针、数组指针、指针数组、函数指针、指针函数。这些都是C语言遗留下来的难题,也是C语言的特点。2.面向对象技术的基本概念的理解,这个有不少容易混淆的地方,但是却是构建大工程的基础内容。3.模板的学习,如果学习STL的话会有不少帮助,现在Java5.0也引入了这个概念。

     下面说一下其他的辅助学习内容。C++学习的同时,其实也可以一并学习Java或者C#,因为他们有不少相似之处。首先,两者语法语意基本上完全相同,可以说他们的函数体几乎可以通用;其次,面向对象技术相同,有少数概念如多继承、接口是不一样的。他们的不同点主要是API或者说标准库不同而已,这个肯定是要分别学习的。如果时间充分可以同时学习,否则也可以等以后需要时在学习,真正的举一反三。

     其次在C++的学习的同时也可以参考一下C语言书,了解其语法、问题、难点,知道C与C++的一些差别,C语言的一些基本库的使用。

     C++学习的同时,还可以参考一下UML书籍,这可以深入的理解面向对象技术,也是作为软件工程的一项基础。 

     在C++学习结束之后,可以深入也可以扩展。前者,如深入学习C++标准、模板、指针等。后者,主要是MFC的基本编程、UML和设计模式。其他,会有相关的课程教授。

    一些推荐的参考和学习书籍如下:

C++ 编程思想   参考书,不利于初学者,较深

UML基础          参考

VC6开发宝典    参考书,VC MFC编程入门

设计模式          理解面向对象技术的应用方法

 STL一般数据结构里会大量介绍

可在下面下载

 

ftp://202.120.38.204/cpp/

------------------------------------------------------------

校内使用软件可以到ftp2.sjtu.edu.cn下载软件,上面有VC6,VC.NET2003,VC.NET2005。

娱乐的话可以到comic.sjtu.edu.cn看动漫、电影、电视、听音乐

也可以到ftp3.sjtu.edu.cn直接下载电影

学习有问题的话可以到bbs.sjtu.edu.cn的相关版面咨询

 

 

 

    

posted on 2008-09-21 17:08  逍遥子  阅读(346)  评论(0编辑  收藏  举报

导航