C++學習之一–基本介紹

來源:互聯網
上載者:User

      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的相關版面諮詢

 

 

 

    

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.