大一期末 C 程式設計總結

2021-09-24 16:33:50 字數 2789 閱讀 3326

c++是一門物件導向的程式語言,在這裡我主要是給大家說一下期末的應試複習總結(一)

本文主要為c++複習期末考生服務。分填空選擇和程式設計 ,第一章要說的填空題。

因為知識點較為分散所以我列出以下幾點:

<1>常考基本概念

類是建立物件的樣板

類是抽象資料型別的實現

類是具有共同行為的若干物件的統一描述

物件導向系統所包含的要素:繼承,類,物件

物件導向程式設計將資料與對資料的操作放在一起,作為相互依存、不可分割的整體來處理

物件導向的封裝性是一種資訊隱藏技術,目的在於將於物件的使用者和設計者分開,使用者不必知道物件行為實現的細節,只需設計者提供的協議命令物件支做即可

操作是物件的動態屬性

物件間的通訊靠資訊傳遞

物件是屬性和方法的分裝體

在物件導向中乙個物件請求另乙個物件為其服務的方式是傳送訊息

類和物件的關係是一種資料型別與變數的關係

類是對某一類物件的抽象

物件是類的具體例項

自身類的物件不能作為該類的成員

在c++語言中,也可以使用struct(結構體)來定義乙個類

成員函式可以是靜態的,成員函式可以設定引數的預設值,成員函式可以過載,但是,成員函式不一定是內聯函式

友元函式不是類的成員函式

可以在類外引用物件的公有資料成員,而且還可以呼叫物件的公用成員函式,但必須指出物件名

當所有類都是私有的,在乙個類中至少有乙個公有的成員函式,作為對外介面,否則就無法對物件進行任何操作

如果為乙個物件定義了乙個引用變數,它們是共佔同一段儲存單元的,實際上它們是同乙個物件不同的名字

訪問物件的三種方法:通過物件名和成員運算子訪問物件中的成員,通過指向物件的指標訪問物件中的成員,通過物件的引用變數訪問物件中的成員

公用成員函式時使用者使用類的對外介面

類中被操作的資料時私有的,實現的細節對使用者是隱蔽的,這種實現稱為私有實現

類的作用是把資料和演算法封裝在使用者的抽象資料型別中

在類中如果不做特別說明,所有的成員函式均為公有型別

類是一種使用者自定義的類據型別

只有類中的成員函式,才能訪問類中的私有型別

具有轉換函式功能的建構函式是帶有乙個引數的建構函式

建構函式不具備的特徵是建構函式需要指定型別說明

析構函式沒有引數沒有返回值,乙個類中只能定義乙個析構函式、

最先被呼叫的建構函式,其對應的(同一物件中的)析構函式最後被呼叫,而最後被呼叫的建構函式,其對應的析構函式最先被呼叫

如果定義的是區域性自動物件(例如在函式中定義的物件),則在建立物件時呼叫其建構函式

在全域性範圍中定義的物件(即在所以函式之外定義的物件),它的建構函式在檔案中的所有函式(包括main函式)執行之前呼叫

如果在函式中定義靜態(static)區域性物件,則只在程式第一次呼叫此函式建立物件時呼叫建構函式一次

由物件組成的陣列稱為物件陣列

在建立陣列時,要呼叫建構函式,如果有50個元素,就需要呼叫40次建構函式

物件有位址,存放物件初始位址的指標變數就是指向物件的指標變數

物件中的成員也有位址,存放物件成員位址的指標變數就是指向物件成員的指標變數

物件空間的起始位址是物件指標

一旦生成乙個物件,該物件的this指標就指向該物件本身

在類的非靜態函式中this指標指向呼叫該函式的物件

在建立物件時,編譯系統會為每乙個物件分配一定的儲存空間,以存放其成員

如果已經定義了乙個常物件,只能呼叫其中的const成員函式,不能呼叫非const函式

只能通過建構函式的引數初始化表對常資料成員進行初始化

關於new運算子:使用它建立物件時要呼叫建構函式;它可以用來建立物件和物件陣列;使用它建立的物件或者物件陣列,可以使用運算子delete刪除

當物件時靜態時,在程式執行過程中,物件所佔的空間是不能隨時釋放的

預設情況下,new和malloc基本是等同的

複製建構函式也是建構函式,但它只有乙個引數,這個引數是本類的物件

在c++語言中,如果不自定義類的拷貝建構函式,則每個類都有預設的拷貝建構函式

靜態資料成員是所有物件所共有的

友元本身並不是類的成員

乙個類的友元函式能夠訪問該類的所有成員

c++不允許將建構函式和析構函式宣告為友元函式

友元的作用是提高程式的執行效率

某類中的友元類的所有成員函式可以訪問或者修改該類中的私有成員

運算子過載不能夠改變語法結構

?:和::不能夠過載

將運算子過載為類的成員函式時,其參數列中沒有引數,說明該運算子是字首一元運算子

在成員函式中進行雙目運算子過載時,其參數列中應該帶有1個引數

派生類是基類的具體化,而基類則是派生類的抽象

建構函式和析構函式是不能從基類繼承的

在私有繼承中,基類中所有成員對派生類的物件都是不可見的

如果派生類沒有實現基類的乙個純虛函式,則該派生類是乙個抽象類

對基類成員的初始化必須在派生類建構函式中的引數初始化表處進行

派生類物件可以向基類物件賦值

如果函式的引數是基類物件或基類物件的引用,相應的實參可以用子類物件

c++支援兩種多型性,分別是編譯時和執行

大一期末大作業

這個是我大一時候老師布置的期末大作業,功能很繁雜,差不多就是綜合了乙個學期的知識。我把 放上去大家自己看吧,如果有哪個功能不對的,可以去看我其他的練習,差不多都有,或者直接聊我也行。include include define pi 3.14 using namespace std int qumo...

python 大一期末測試題(含答案)

一 填空題 15分 使用print 函式將多個字串 how are you 一起輸出出來,語句為 print how are you 使用input 函式將 請輸入您的姓名 語句輸出並從鍵盤獲取資料,語句為 input 請輸入您的姓名 列表 元組 是python的有序資料型別 集合 字典 是無序資料...

大一期末衝刺 電腦科學概論筆記(2)

基數權重展開法把可以把任意基數的數字轉換成十進位制 看圖 注意,10是以16為基數的計數系統中的16 二進位制數和八進位制數有很特殊的關係,只需要把二進位制從左往右讀,每3位轉換成對於的八進位制數,然後拼起來,就得到了對應的八進位制數了。八進位制數轉二進位制數也是一樣的,把八進位制的每一位轉成二進位...