免费人成视频19674试看,精品三级在线观看视频,女百合互慰高潮在线观看,2020欧美一级高清片,播放日韩大片日韩大片中文字幕,欧美日韩久久黄片,a级免费按摩黄片

當前位置:高考升學網(wǎng) > 招聘筆試題 > 正文

C++開發(fā)工程師筆試題和面試題答案(50題)(四)

更新:2023-09-18 08:49:38 高考升學網(wǎng)

  47. 關聯(lián)、聚合(Aggregation)以及組合(Composition)的區(qū)別?

  涉及到UML中的一些概念:關聯(lián)是表示兩個類的一般性聯(lián)系,比如“學生”和“老師”就是一種關聯(lián)關系;聚合表示has-a的關系,是一種相對松散的關系,聚合類不需要對被聚合類負責,如下圖所示,用空的菱形表示聚合關系:

  從實現(xiàn)的角度講,聚合可以表示為:

  class A {…} class B { A a; …..}

  而組合表示contains-a的關系,關聯(lián)性強于聚合:組合類與被組合類有相同的生命周期,組合類要對被組合類負責,采用實心的菱形表示組合關系:

  實現(xiàn)的形式是:

  class A{…} class B{ A a; …}

  參考文章:http://blog.csdn.net/wfwd/archive/2006/05/30/763753.aspx

  http://blog.csdn.net/wfwd/archive/2006/05/30/763760.aspx

  48.面向對象的三個基本特征,并簡單敘述之?

  1. 封裝:將客觀事物抽象成類,每個類對自身的數(shù)據(jù)和方法實行protection(private, protected,public)

  2. 繼承:廣義的繼承有三種實現(xiàn)形式:實現(xiàn)繼承(指使用基類的屬性和方法而無需額外編碼的能力)、可視繼承(子窗體使用父窗體的外觀和實現(xiàn)代碼)、接口繼承(僅使用屬性和方法,實現(xiàn)滯后到子類實現(xiàn))。前兩種(類繼承)和后一種(對象組合=>接口繼承以及純虛函數(shù))構成了功能復用的兩種方式。

  3. 多態(tài):是將父對象設置成為和一個或更多的他的子對象相等的技術,賦值之后,父對象就可以根據(jù)當前賦值給它的子對象的特性以不同的方式運作。簡單的說,就是一句話:允許將子類類型的指針賦值給父類類型的指針。

  49. 重載(overload)和重寫(overried,有的書也叫做“覆蓋”)的區(qū)別?

  ?嫉念}目。從定義上來說:

  重載:是指允許存在多個同名函數(shù),而這些函數(shù)的參數(shù)表不同(或許參數(shù)個數(shù)不同,或許參數(shù)類型不同,或許兩者都不同)。

  重寫:是指子類重新定義復類虛函數(shù)的方法。

  從實現(xiàn)原理上來說:

  重載:編譯器根據(jù)函數(shù)不同的參數(shù)表,對同名函數(shù)的名稱做修飾,然后這些同名函數(shù)就成了不同的函數(shù)(至少對于編譯器來說是這樣的)。如,有兩個同名函數(shù):function func(p:integer):integer;和function func(p:string):integer;。那么編譯器做過修飾后的函數(shù)名稱可能是這樣的:int_func、str_func。對于這兩個函數(shù)的調用,在編譯器間就已經確定了,是靜態(tài)的。也就是說,它們的地址在編譯期就綁定了(早綁定),因此,重載和多態(tài)無關!

  重寫:和多態(tài)真正相關。當子類重新定義了父類的虛函數(shù)后,父類指針根據(jù)賦給它的不同的子類指針,動態(tài)的調用屬于子類的該函數(shù),這樣的函數(shù)調用在編譯期間是無法確定的(調用的子類的虛函數(shù)的地址無法給出)。因此,這樣的函數(shù)地址是在運行期綁定的(晚綁定)。

  50. 多態(tài)的作用?

  主要是兩個:1. 隱藏實現(xiàn)細節(jié),使得代碼能夠模塊化;擴展代碼模塊,實現(xiàn)代碼重用;2. 接口重用:為了類在繼承和派生的時候,保證使用家族中任一類的實例的某一屬性時的正確調用。

最新圖文

2020年河北新聞網(wǎng)兩學一做

時間:2023-09-18 07:0:24

2020年河北新聞網(wǎng)兩學一做

時間:2023-09-15 11:0:59

兩學一做學習教育知

時間:2023-09-21 06:0:30

2020年開展兩學一做學習教

時間:2023-09-19 21:0:30