面向?qū)ο蟪绦蛟O(shè)計答疑庫新的-丁_第1頁
面向?qū)ο蟪绦蛟O(shè)計答疑庫新的-丁_第2頁
面向?qū)ο蟪绦蛟O(shè)計答疑庫新的-丁_第3頁
面向?qū)ο蟪绦蛟O(shè)計答疑庫新的-丁_第4頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1.簡述面向?qū)ο蟮某绦蛟O(shè)計的主要特 點? 面向?qū)ο蟮某绦蛟O(shè)計語言都具有 多態(tài)性、繼承性、封裝性、抽象性等 特點。封裝性:隱蔽了抽象的內(nèi)部實 現(xiàn)細節(jié),將數(shù)據(jù)抽象的外部接口與內(nèi) 部實現(xiàn)細節(jié)清楚地分離開。繼承性: 繼承所表達的是對象類之間相關(guān)的關(guān) 系,使得某類對象可以繼承另外一類 對象的特征和行為。多態(tài)性:不同的 對象收到相同的消息時產(chǎn)生多種不同 的行為方式。抽象性:通過對數(shù)據(jù)實 例的分析,抽取其共同性質(zhì)的結(jié)果。 強調(diào)對象的共同點,忽略他們的不同 點。2 構(gòu)造函數(shù)的功能是什么 ?構(gòu)造函數(shù) 有哪些特點 ?構(gòu)造函數(shù)是一種特殊的 成員函數(shù) ,它的功能是對創(chuàng)建的對象進 行初始化。構(gòu)造函數(shù)具有下述特點 : 該

2、函數(shù)名字同類名;該函數(shù)定義時不 必指定返回類型;該函數(shù)可以重載、 可以設(shè)置默認參數(shù) ; 即可以無參數(shù) ,又 可以一個或多個參數(shù);該函數(shù)是由系 統(tǒng)在創(chuàng)建對象時自動調(diào)用的。3.什么是類?類與對象有什么關(guān)系? 類是面向?qū)ο蟪绦蛟O(shè)計的基礎(chǔ)。類代 表了某一批對象的共性。類既包含數(shù) 據(jù),也包含操作數(shù)據(jù)的函數(shù)。類是對 象的模板,是用來定義對象的一種抽 象類型。在類的定義中不能為數(shù)據(jù)成 員賦值。在面向?qū)ο蟮腃+ 程序設(shè)計中,對象意味著類的實例。類是一種 用戶自定義的數(shù)據(jù)類型。對象是使用 自定義的類名在程序中說明變量。或 者說,具有類類型的變量即為對象。 類是創(chuàng)建對象的模板,對象是類的實 例。5. 何時執(zhí)行構(gòu)造

3、函數(shù)和析構(gòu)函數(shù)?類是一種用戶自定義的類型,聲明一個 對象的時候,編譯程序需要為對象分 配存儲空間,進行必要的初始化,為 對象初始化各種數(shù)據(jù)。在 C+中,這 項工作是由構(gòu)造函數(shù)來完成的。構(gòu)造 函數(shù)在對象被創(chuàng)建的時候由系統(tǒng)自動 調(diào)用。析構(gòu)函數(shù)與構(gòu)造函數(shù)的作用幾 乎正好相反,它用來完成對象被刪除 前的一些清理工作。一般情況下,析 構(gòu)函數(shù)在對象的生存周期即將結(jié)束的 時候由系統(tǒng)自動調(diào)用。6. 簡述調(diào)用拷貝構(gòu)造函數(shù)的三種情況, 一個類中有幾個構(gòu)造函數(shù)?一個類中 有幾個拷貝構(gòu)造函數(shù)?一個類中有幾 個析構(gòu)函數(shù)? 拷貝構(gòu)造函數(shù)的作用是 當用一個已知對象初始化另一個對象 時,系統(tǒng)將自動調(diào)用拷貝構(gòu)造函數(shù)進 行對象之

4、間的值的拷貝。類的定義中, 如果沒有設(shè)計構(gòu)造函數(shù),編譯器會提 供一個默認構(gòu)造函數(shù)。如果在類中定 義了構(gòu)造函數(shù),那么編譯器就不再提 供默認構(gòu)造函數(shù)。如果類的設(shè)計者沒 有提供拷貝構(gòu)造函數(shù),編譯器會提供 一個拷貝構(gòu)造函數(shù)。 (1)創(chuàng)建一個對 象,在用同類的另一個對象去初始化 的時候使用拷貝構(gòu)造函數(shù)。 (2)當函 數(shù)的形參是類的對象,調(diào)用函數(shù)時, 這時要在內(nèi)存新建立一個臨時對象, 并通過臨時對象把實參對象拷貝到形 參對象中。此時要調(diào)用拷貝構(gòu)造函數(shù)。 (3)當函數(shù)的返回值是類對象,函數(shù) 執(zhí)行完成返回時也是要建立一個臨時 對象,再返回給調(diào)用者,此時要調(diào)用 拷貝構(gòu)造函數(shù)。一個類中可以有多個 構(gòu)造函數(shù),一個類

5、中有一個拷貝構(gòu)造 函數(shù),一個類中有一個析構(gòu)函數(shù)。7. 能夠重載類的析構(gòu)函數(shù)嗎? 不能。對于一個類來講,只能有一個析構(gòu)函 數(shù),也一定是 class_name:class_name() 的形式。析構(gòu)函數(shù)沒有任何參數(shù),也 沒有返回值。我們不能傳遞給析構(gòu)函 數(shù)什么參數(shù),因為我們不能顯式的調(diào) 用析構(gòu)函數(shù)。8. 簡述靜態(tài)數(shù)據(jù)成員和普通數(shù)據(jù)成員 的區(qū)別,靜態(tài)成員函數(shù)與普通成員函 數(shù)的區(qū)別 .靜態(tài)數(shù)據(jù)成員不從屬于任何 一個具體對象 ,所以必須對它初始化 , 且對它的初始化不能在構(gòu)造函數(shù)中進 行 ,類中用關(guān)鍵字 static 修飾的數(shù)據(jù)成 員叫做靜態(tài)數(shù)據(jù)成員。靜態(tài)成員函數(shù) 只能訪問靜態(tài)數(shù)據(jù)成員、靜態(tài)成員函 數(shù)和

6、類以外的函數(shù)和數(shù)據(jù),不能訪問 類中非靜態(tài)數(shù)據(jù)成員,因為非靜態(tài)數(shù) 據(jù)成員只有對象存在時才有意義。9. 什么是友元? 類具有數(shù)據(jù)封裝和隱 藏的特性,只有類的成員函數(shù)才可以 訪問類的私有成員,外部函數(shù)只能訪 問類的公有成員。但是在某些情況下, 需要在類的外部訪問類的私有成員。 這時,如果通過成員函數(shù)進行訪問, 由于參數(shù)傳遞、類型檢查和安全性檢 查等需要時間上的開銷,將影響程序 的運行效率。為了解決這個問題,引 入了友元。友元可以在類外部直接訪問類的 私有成員,提高了程序的運行效率。10. 拷貝構(gòu)造函數(shù)的功能和特點是什 么?:拷貝構(gòu)造函數(shù)也是在創(chuàng)建對象時 被系統(tǒng)調(diào)用的一種構(gòu)造函數(shù)。它也是 成員函數(shù)。該

7、構(gòu)造函數(shù)是在用已知對 象創(chuàng)建另一個對象時系統(tǒng)自動調(diào)用 的。拷貝構(gòu)造函數(shù)的名字同類名 ,定義 時不必指出返回類型 ,它有一個參數(shù) , 數(shù)是該類的對象引用。它可與其他構(gòu) 造函數(shù)進行重載。11. 編寫派生類的析構(gòu)函數(shù)時,需要顯 式調(diào)用基類的析構(gòu)函數(shù)嗎? 不需要。 派生類的析構(gòu)函數(shù)自動調(diào)用基類的析 構(gòu)函數(shù)。12. 哪些運算符 可以 被重 載?哪些不 能?運算符重載”是針對C+原有運算 符進行的,不能通過重載創(chuàng)造出新的 運算符。大部分運算符都可以被重載 ,不能被重載的運算符有:15. 在 類的 成員的 訪問權(quán) 限 中, public, protected, private 有什么區(qū) 別? 它們都是類成員

8、的訪問權(quán)限, public 標注的成員是公有成員, 也就是 其他函數(shù)或者類的對象都可以訪問 它; private 表示私有成員,它們不能 被本類以外的對象或者函數(shù)引用;一 個 private 型成員在它的類定義外部的 任何地方都不能被訪問。派生類不能 直接訪問基類的私有成員,但是可以 通過基類提供的公有成員函數(shù)間接地 訪問基類的私有成員。 protected 修飾 的成員是保護成員,除了本類或本類 的派生類可以訪問外其他都無權(quán)訪 問。一個 protected 型成員在它的類定 義外部的任何地方都不能被訪問,例 外的是在派生類的定義中它是可以訪 問的。16. 類的繼承方式有哪些,各自的特點 是什

9、么? 保持已有類的特性而構(gòu)造 新類的過程稱為繼承。有三種類的繼 承方式:public(公有繼承)、protected保 護繼承)、private(私有繼承)。(1)公有 繼承:派生類中的成員函數(shù)可以直接 訪問基類中的public和protected成員, 但不能直接訪問基類的 private 成員; 通過派生類的對象只能訪問基類的 public 成員。( 2)私有繼承:派生類中 的成員函數(shù)可以直接訪問基類中的 public 和 protected 成員,但不能直接 訪問基類的 private 成員;通過派生類 的對象不能直接訪問基類中的任何成 員。(3)保護繼承:派生類中的成員 函數(shù)可以直接訪

10、問基類中的 public 和 protected 成員,但不能直接訪問基類 的 private 成員;通過派生類的對象不 能直接訪問基類中的任何成員。17、簡述派生類構(gòu)造函數(shù)的調(diào)用順序。 派生類構(gòu)造函數(shù)各部分的執(zhí)行次序 為:首先調(diào)用基類構(gòu)造函數(shù)(按它們 在派生類定義的先后順序,順序調(diào) 用)。然后調(diào)用子對象構(gòu)造函數(shù)(調(diào)用 次序按各個對象在派生類內(nèi)聲明的順 序)。最后調(diào)用派生類的構(gòu)造函數(shù)。18、簡述派生類析構(gòu)函數(shù)的調(diào)用順序。 派生類析構(gòu)函數(shù)各部分的執(zhí)行次序 為:派生類析構(gòu)函數(shù)執(zhí)行過程恰與構(gòu) 造函數(shù)執(zhí)行過程相反。首先執(zhí)行派生 類析構(gòu)函數(shù),然后執(zhí)行內(nèi)嵌對象的析 構(gòu)函數(shù),最后執(zhí)行基類析構(gòu)函數(shù)。21. 什

11、么是友元 ?為什么要使用友元 ? 什么是友元函數(shù) ?什么是友元類 ?友元 包含友元函數(shù)和友元類。它們被說明 在類體中 ,但又不是該類體的成員。使 用友元的目的在于較方便地訪問類體 內(nèi)的私有成員。友元被說明時 ,前邊要 加修飾符friend。友元函數(shù)是說明在類 體內(nèi) ,可以訪問該類的私有成員的一種 函數(shù),它被定義類體外 ,同定義一般函 數(shù)一樣。友元類是被前加 friend 修飾符 說明在類體內(nèi)的一種類 ,該類的所有的 成員函數(shù)都是被說明為該類的友元函 數(shù)。22、. 靜態(tài)成員函數(shù)與非靜態(tài)成員函數(shù) 有何不同 ?靜態(tài)成員函數(shù)一般是用來 直接操作靜態(tài)數(shù)據(jù)成員的。靜態(tài)成員 函數(shù)是要在說明時前邊加關(guān)鍵字 s

12、tatic 的,非靜態(tài)成員函數(shù)是除了靜態(tài)成員函 數(shù)之外的成員函數(shù)。靜態(tài)成員函數(shù)中 可以直接引用靜態(tài)數(shù)據(jù)成員 ,但不能直 接引用非靜態(tài)成員 ,需要引用時要通過 對象來引用。24靜態(tài)綁定(聯(lián)編)和動態(tài)綁定(聯(lián) 編)的區(qū)別是什么? 靜態(tài)綁定指的是 在編譯時把一個成員函數(shù)調(diào)用與函數(shù) 本身連接起來,與之相反,動態(tài)綁定 是直到運行時連接起來。26. 什么是純虛函數(shù)? 純虛函數(shù)是一種 特殊的虛函數(shù),純虛函數(shù)沒有具體的 函數(shù)實現(xiàn),因此是不能直接調(diào)用的虛 函數(shù),只有它在派生類中重載函數(shù)可 以被調(diào)用。純虛函數(shù)通過在聲明中的 初始化的最后的 =0”來標識。27. 引入模板的作用是什么? 所謂模 板,就是將某段程序中

13、的數(shù)據(jù)類型參 數(shù)化,使得它能夠處理某個范圍內(nèi)的 數(shù)據(jù)類型,而不必為每種可能的類型 都建立一個實例,從而避免 重復的勞 動,增強了程序的靈活性和有效性。33. 什么是繼承性 ? 為什么說它是面向?qū)ο蟪绦蛑械闹匾獧C制?繼承是指一個對象是另一個對象的特例 ,則稱這 個對象繼承了另一個對象。繼承是創(chuàng) 建新類的一種手段 ,通過繼承生成的新 類中包含了被繼承類中的所有成員 ,并 且它還具有自己定義的成員。繼承性 將提高可重用性 ,這是面向?qū)ο蟪绦蛟O(shè) 計的重要特性。繼承性又是多態(tài)性的 重要基礎(chǔ)。34. C+ 中繼承分為哪兩類 ?繼承方式 又分哪3種?C+語言支持兩種繼承: 單繼承和多繼承。有的面向?qū)ο蟪绦?

14、設(shè)計語言只支持單繼承 ,例如 Java 語 言。C+語言中繼承方式分為3種:公 有繼承(public)、私有繼承(private)和保 護繼承 (protected)。35 . 派生類與基類之間有什么關(guān)系 ? 答:簡單地說,派生類與基類之間是 繼承關(guān)系 ,即所屬關(guān)系。具體表現(xiàn)在 :(1 ) 派生類是基類的具體化 ;(2 ) 派生類是基類定義的延續(xù) ;(3 ) 派生類是基類的組合。436. 3 繼承方式中派生類對基類成員的 訪問有何不同 ?繼承方式有 3 種,它們 區(qū)別在于不同繼承方式使得基類成員 在派生類中的訪問權(quán)限不同。具體講 來 ,公有繼承方式時 ,基類中的公有和 保護成員在派生類中仍是公有和保護 成員 ;私有繼承方式時 ,基類中的公有 成員和保護成員在派生類中都為私有 成員 ;保護繼承方式時 ,基類中的公有 成員和保護成員在派生類中都是保護 成員。 3 種方式中 ,基

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論