【清華大學】C++語言程序設計進階

2021-02-15 學堂在線

↑ ↑ ↑ 關注學堂在線,把全球優質好課帶給你


本課程為進階篇, 要求必須先修基礎篇《C++語言程序設計基礎》(可以登錄學堂在線平臺搜索課程名)


課程簡介

C++是從C語言發展演變而來的一種面向對象的程序設計語言。面向對象的程序設計方法將數據及對數據的操作方法封裝在一起,作為一個相互依存、不可分離的整體——對象。對同類型對象抽象出其共性,形成類。類通過外部接口,與外界發生關係,對象與對象之間通過消息進行通訊。這樣,程序模塊間的關係簡單,程序模塊的獨立性、數據的安全性具有良好的保障,通過繼承與多態性,使程序具有很高的可重用性,使得軟體的開發和維護都更為方便。

由於面向對象方法的突出優點,目前它已經成為開發大型軟體時所採用的主要方法。而C++語言是應用最廣泛的面向對象的程序設計語言之一。

本課程是一門面向廣大初學者的入門課程,自1999年開始在清華大學開設,本課程的教材已經在清華大學等一百多所學校的不同專業中使用,取得了良好的教學效果。

本課程將C++語言作為大學生的計算機編程入門語言,不僅詳細介紹語言本身,而且介紹常用的數據結構和算法、面向對象的設計思想和編程方法。課程以面向對象的程序設計方法貫穿始終,每一章都是首先闡述面向對象的程序設計思想和方法,由實際問題入手,然後引出必要的語法知識,在講解語法時著重從程序設計方法學的角度講述其意義和用途。


課程章節


第七章 繼承與派生

導學

繼承的基本概念和語法

繼承方式

類型轉換

派生類的構造和析構

派生類成員的標識與訪問

小結

綜合實例

第七章編程作業

實驗七

第八章 多態性

導學

運算符重載

虛函數

抽象類

override與final

小結

綜合實例

第八章編程作業

實驗八

第九章 模板與群體數據

導學

模板

線性群體

數組

鍊表

隊列

排序

查找

小結

綜合實例

第九章編程作業

實驗九

第十章 泛型程序設計與C++標準模板庫

導學

泛型程序設計及STL的結構

迭代器

容器的基本功能與分類

順序容器

關聯容器

函數對象

算法

小結

綜合實例

第十章編程作業

實驗十

第十一章 流類庫與輸入/輸出

導學

I/O流的概念及流類庫結構

輸出流

輸入流

輸入/輸出流

小結

綜合實例

第十一章編程作業

實驗十一

第十二章 異常處理

導學

異常處理的思想與程序實現

異常處理中的構造與析構

標準程序庫異常處理

小結

綜合實例

第十二章編程作業

點擊閱讀原文,即可加課學習

清華大學發起成立的中文MOOC平臺,匯聚優質教育資源,促進教育公平,

相關焦點

  • C語言程序設計視頻教程C++
    計算機作業系統/組成原理/數據結構視頻教程 自學考研課程 嚴蔚敏大學計算機專業視頻教程173門C語言JAVE網絡電腦自學零基礎課程計算機專業視頻課程計算機原理人工智慧導論/軟體工程/java/c++等20AP微積分物理心理統計化學生物歷史計算機微觀經濟網課課程視頻AI人工智慧視頻教程python深度學習計算機視覺機器人工程師課程
  • 編譯C語言程序,使用 gcc 指令,而C++程序則推薦使用 g++指令!
    那麼,在已編輯好 C 語言或者 C++ 代碼的前提下,如何才能調用 GCC 編譯器為我們編譯程序呢?很簡單,GCC 編譯器已經為我們提供了調用它的接口,對於 C 語言或者 C++ 程序,可以通過執行 gcc 或者 g++ 指令來調用 GCC 編譯器。值得一提的是,實際使用中我們更習慣使用 gcc 指令編譯 C 語言程序,用 g++ 指令編譯 C++ 代碼。
  • C 2 C++進階篇(1)
    之前一直是對於面向過程的編程,python有過那種對象風格的編程,但是對於oop的實際開發還停留在表面,沒有獨立的開發c++經驗,也有好幾年沒有碰過c了。由於接手Qt的相關項目,所以對c to c++的進階希望能進行個自我總結。
  • C++伺服器開發完整學習路線C++伺服器開發完整學習路線(含免費學習資料下載地址)
    我寫這篇文章的目的就是為了幫助更多想入行或者想轉行做c++伺服器的新人避免走更多的彎路,最終能夠順利的掌握相關知識找到心儀的工作。一. 基礎階段  c/c++程式語言linux基礎數據結構與算法設計模式腳本語言(可選)二.
  • 程序設計入門—Java語言 免費學習教程
    教程介紹         程序設計是一門基礎課程。對於計算機相關專業而言,程序設計是專業基礎知識,是進一步學習其他專業知識的第一步階梯;對於非計算機專業而言,程序設計的學習有助於理解計算機的能力所在,理解哪些是計算機擅長解決的問題,怎樣的方式方法是計算機擅長的手段,從而能更好地利用計算機來解決本專業領域內的問題。
  • 紅綠燈圖像識別程序設計介紹
    第一部分:軟硬體安裝包&教程1、vs(包含:visual studio 2008,2013安裝包)2、Creo(Creo2.0/3.0安裝包 ,Creo3.0全套視頻教程)3、SolidWorks(SolidWorks2016安裝包)4、catia(安裝包,視頻教程,示列分析,書籍)5、cad(cad2014安裝包、機械設計手冊軟體破解版
  • 安全程序設計語言 | CNCC2021
    程序設計語言作為軟體的表示載體和描述工具,對軟體的開發效率和開發質量起決定性作用。本論壇將討論如下問題:1)如何設計安全的程序設計語言?2)如何提供安全加強的軟體開發環境?3)如何進行安全的編程?13:25 - 13:50從程序驗證到「開發即安全」曹欽翔13:50 - 14:15指令編碼解碼的形式化驗證方法汪宇霆14:15 - 14:40密碼程序安全威脅與形式驗證宋富14:40 - 15:05面向企業級微服務架構程序分析的IR設計狄鵬賀飛清華大學長聘副教授,博士生導師,CCF形式化專委會常務委員主要研究程序驗證理論、方法、工具及應用
  • 淺談C語言的編譯器!
    主要的C語言編譯器及特點分別如下(有點老的):(1)TC 2.0DOS平臺軟體。最經典的C語言編譯器,系統體積小,簡單易學,容易上手,而且很多前人或書籍的程序均基於該編譯器,是學習C語言的首選。不過它不支持滑鼠,但讀者如果掌握幾個快捷鍵,操作時對滑鼠可能就不怎麼需要了。(2)Tc3.0DOS平臺軟體。
  • 整理了一份C++學習路線圖!
    直接看圖:高清圖片,請添加程序喵微信獲取圖中我分了11個板塊:C語言入門基礎知識C++基礎C++進階C++新特性作業系統編譯連結C、共用體文件操作回調函數C++基礎這裡整理了一些C++必須要知道的基礎知識,主要有:C++進階我把下面的一些知識歸為進階知識點,可能你學完了也沒進階到哪裡去,但是也是進階必備知識點,主要有:resizereserve
  • windows系統安裝gcc編譯器----c/c++語言編譯器
    2.這裡安裝的是c++編譯器,要按安裝別的看下面介紹 4.安裝c 和 c++ 編譯器 請按圖勾上然後去選擇 installation 菜單中的 apply changes 去安裝: 它是一個可自由使用和自由發布的Windows特定頭文件和使用GNU工具集導入庫的集合,允許你在GNU/Linux和Windows平臺生成本地的Windows程序而不需要第三方C運行時(C Runtime)庫。
  • C++pdf系列書籍
    《C語言經典算法100例》連結:https://pan.baidu.com/s/10Qihkc6OQTN4NviLyDr-Fw提取碼:C014 15. 《C程序設計_第三版_譚浩強》連結:https://pan.baidu.com/s/1U_9byBEoosa44-Ujm6tZEQ提取碼:C017 18.
  • MATLAB程序設計語言(1)---入門
    80年代初,Steve Bangert主持開發了解釋器程序,Steve Kleiman完成了圖形功能設計,John Little和Cleve Moler主持開發了數學分析模塊,編寫了用戶指南,形成了MATLAB的第一個商業版。5.0版後,MATLAB引入了更多的數據結構,如多維矩陣等,使其更易於使用。5.3版本後,MATLAB核心由Fortran轉為了C語言。
  • C++ C、C++、C#、VC、VC.net以及VC++有什麼區別和聯繫?
    >主要領域一是做桌面程序,像QQ,迅雷這種桌面軟體領域二是做遊戲後臺開發,大部分遊戲(包括魔獸等)後臺語言就是使用C++精通的話,收入和C程式設計師差不多vc :剛說過了,vc全名是(Microsoft Visual C++)是微軟研發的一種開發C++的開發工具(IDE)vc++:同vc注意c++是語言,
  • C語言程序設計複習題
    C語言源程序可以直接在DOS環境中運行B.Turbo C系統不提供編譯和連接C 程序的功能C.編譯C語言源程序得到目標程序可以直接在DOS環境中運行D.C語言源程序連接得到的可執行程序可以直接在DOS環境中運行20、下列敘述錯誤的是DA.break語句可以使程序從switch語句中跳出來B.continue 語句是為了結束本次循環
  • 最新C++程序iostream標準庫介紹
    我們從一開始就一直在利用C++的輸入輸出在做著各種練習,輸入輸出是由iostream庫提供的,所以討論此標準庫是有必要的,它與C語言的
  • C++基礎總結(一):從「hello world」入門C++!
    C++ 是一種靜態類型的、編譯式的、通用的、大小寫敏感的、不規則的程式語言,支持過程化編程、面向對象編程和泛型編程。C++ 被認為是一種中級語言,它綜合了高級語言和低級語言的特點。C++ 是由 Bjarne Stroustrup 於 1979 年在新澤西州美利山貝爾實驗室開始設計開發的。
  • 彙編語言是一種什麼程序設計語言?
    彙編器(assembler)是一種工具程序,用於將彙編語言源程序轉換為機器語言。連結器(linker)也是一種工具程序,它把彙編器生成的單個文件組合為一個可執行程序。還有一個相關的工具,稱為調試器(debugger),使程式設計師可以在程序運行時,單步執行程序並檢查寄存器和內存狀態。需要哪些硬體和軟體?
  • 每周一書《Go語言從入門到進階實戰》分享!
    全書秉承方便學習、易於理解、便於查詢的理念編寫而成,無論是想系統學習Go語言基礎知識的初學者,還是想進階提高的有經驗開發人員,都能通過本書迅速掌握Go語言的各種基礎語法和開發技巧。本書作者曾經與慕課網合作錄製過相關視頻課程,有豐富的視頻製作經驗,所以特意為本書重點內容精心錄製了配套教學視頻,這將極大地提升讀者的學習效率,取得比同類圖書更好的學習效果。
  • C語言 | scanf函數
    「要成為絕世高手,並非一朝一夕,除非是天生武學奇才,但是這種人…萬中無一
  • 人工智慧系 | 電腦程式設計語言介紹——C語言
    一、簡介C語言是一種電腦程式設計語言。它既有高級語言的特點,又具有彙編語言的特點。它可以作為系統設計語言,編寫工作系統應用程式,也可以作為應用程式設計語言,編寫不依賴計算機硬體的應用程式。馮.諾依曼在1945年提出了現代計算機的若干思想,被後人稱為馮.諾依曼思想,這是計算機發展史上的裡程碑。