第一次c++設計程序總結

本週主要進行了圖書館系統的設計,用c++學到了不少,週末記錄一下html

關於c++輸入輸出流

關於這個流,一直比較模糊,故今天整理了一下大致的輪廓ios

你有沒有想過,用什麼來比喻程序數據的傳輸呢?c++

計算機前輩們很早就想過這個概念,這個概念就是流git

信息從外部輸入設備(入鍵盤和磁盤)向計算機內部(即內存)輸入。或從內存向外部輸出設備(如顯示器和磁盤)輸出的過程,被形象的比喻稱爲流github

緩衝區

  1. 系統在主存當中專門開闢的用於存放I/O數據的區域,咱們稱之爲緩衝區(buffer),流可使緩衝形式的,也能夠是非緩衝形式的,對於緩衝流,當咱們的緩衝區滿或者對緩衝區發出刷新的命令的時候,咱們就能夠將緩衝區的數據與操做真正實現。
  2. 咱們能夠類比成咱們修改html文檔的過程:當咱們修改一次的的時候,每每是在html文檔裏面修改不少的地方而後去瀏覽器一次性刷新,咱們在代碼中修改文檔就至關於在緩衝區進行操做,只不過這裏沒有緩衝區滿的狀況。
  3. windows 系統 的 的全緩衝區的大小是4096個字節,也就是輸入到4096字節就不能再輸入而且自動刷新緩衝區緩衝區,執行I/O操做

c++的「流」那一家子

未命名圖片.png

  1. 爲了實現信息的內外流動,c++系統定義了I/O類庫,其中的每個類都稱做相應的流或流類,用以完成某一方面的功能。一般把一個流類性定義的對象也稱爲流

    streambuf用於管理一個流的緩衝區segmentfault

    istream提供輸入操做的成員函數windows

    ostream提供輸出操做的成員函數瀏覽器

    iostream也就是咱們常常用的,沒有提供新的成員函數,只是將istream類和ostream類組合到一塊兒,稱爲一個流類庫中的戰鬥機網絡

文件流

咱們對於輸入輸出流有必定的基礎以後,開始進入文件流的世界框架

概述

在c++中,文件被看做是字符序列,即文件是由一個個的字符數據順序組成的,是一個字符流,要對文件進行I/O,就必須建立一個流(對象),而後將這個流與文件相互關聯,就能夠在打開文件以後,對此文件進行讀寫操做,操做完成以後,再關閉這個文件。

有了這個概念,以及一些列操做,必然有對應的類庫

c++提供的文件流類:ifstream、ofstream、fstream他們都在頭文件 fstream 中有定義:

這些文件的關係也和基本的類庫類似,咱們能夠類比記憶

ifstream:繼承了istream和fstreambase的操做也就是對於文件的操做    和輸入繼承

ofstream:繼承了ostream和fstreambase的操做也就是對於文件的操做和輸出繼承

fstream:以上二者的集成版:文件類中的戰鬥機

文件的讀寫

咱們讀寫文件,是要創建一個fstream對象,將此對象與目標文件聯繫起來,而後對文件利用函數進行操做。這中間有不少的函數具體的用法,在此再也不贅述,請參照網上的其餘具體教程信息來學習函數的做用

淺談面向對象

把數據及對數據的操做方法放在一塊兒,做爲一個相互依存的總體——對象。對同類對象抽象出其共性,造成類。類中的大多數數據,只能用本類的方法進行處理。類經過一個簡單的外部接口與外界發生關係,對象與對象之間經過消息進行通訊。程序流程由用戶在使用中決定。對象即爲人對各類具體物體抽象後的一個概念,人們天天都要接觸各類各樣的對象,如手機就是一個對象。

關於總體概念的理解,以下圖
未命名圖片.png
點我——一個很詳細的面向對象解釋

設計一個程序的步驟

多花時間放在對於程序的分析上,咱們的思路應該是:我須要實現什麼功能,我想辦法實現。而不該該是:我能實現什麼功能,我怎麼把個人功能放到個人程序當中

此次的程序設計過程就是犯了後面的錯誤,致使最後十分混亂

設計流程:

  1. 分析需求,須要的功能,須要的對象種類,畫出思惟導圖
  2. 把功能劃分到具體的對象類當中,而後分析出各個類之間的信息聯繫,設計接口的傳輸方式
  3. 把分析出來的類的結構,對象的種類都寫出頭文件以及聲明相應的函數
  4. 在主函數裏面開始流程,在相應的地方寫入相應對象的功能
  5. 框架設計好以後,用語言去補充相應的功能。

內存

概述

內存指的就是運行時的運存,就是咱們電腦中的內存條對應的部分,功能是咱們運行程序時須要的內存活動空間。可是咱們平常生活中,在咱們買手機買電腦的時候,商家經常跟咱們說這個手機內存64G、256G…(這實際上指的是硬盤的內存)這也就誤導了咱們內存的概念,因此之後的概念要區分好。

咱們在設計程序的時候,這個內存有什麼用呢?


存在內存中的數據調用快速並且方便,咱們能夠把咱們須要的數據從硬盤等存儲空間提取到內存當中,而後對內存中的數據進行操做,操做完以後在從內存中的數據保存到硬盤當中,實現數據的更新,這一過程能夠便捷的、快速的實現咱們的操做,由此能夠理解,內存的做用,以及內存強悍的電腦運行遊戲流暢的緣由。

版權聲明

本文保留全部權利,版權歸河北工業大學夢雲智軟件開發團隊全部。未經團隊及做者事先書面贊成,您不得以任何方式將本文內容進行商業性使用或經過信息網絡傳播本文內容。本文做者:溫宇航

相關文章
相關標籤/搜索