国产激情久久久久影院小草_国产91高跟丝袜_99精品视频99_三级真人片在线观看

常用面試題目:關(guān)聯(lián)、聚合以及組合的區(qū)別

時間:2020-11-21 17:39:38 筆試經(jīng)驗 我要投稿

常用面試題目:關(guān)聯(lián)、聚合以及組合的區(qū)別

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

常用面試題目:關(guān)聯(lián)、聚合以及組合的區(qū)別

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

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

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

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

  class A{…} class B{ A a; …}
拓展:

  指針的指針

  指針的指針看上去有些令人費解。它們的聲明有兩個星號。例如:

  char ** cp;

  如果有三個星號,那就是指針的指針的指針,四個星號就是指針的指針的指針的指針,依次類推。當(dāng)你熟悉了簡單的例子以后,就可以應(yīng)付復(fù)雜的情況了。當(dāng)然,實際程序中,一般也只用到 二級指針,三個星號不常見,更別說四個星號了。

  指針的指針需要用到指針的地址。

  char c='A';

  char *p=&c;

  char **cp=&p;

  通過指針的指針,不僅可以訪問它指向的指針,還可以訪問它指向的指針?biāo)赶虻臄?shù)據(jù)。下面就是幾個這樣的'例子:

  char *p1=*cp;

  char c1=**cp;

  你可能想知道這樣的結(jié)構(gòu)有什么用。利用指針的指針可以允許被調(diào)用函數(shù)修改局部指針變量和處理指針數(shù)組。

  void FindCredit(int **);

  main()

  {

  int vals[]={7,6,5,-4,3,2,1,0};

  int *fp=vals;

  FindCredit(&fp);

  printf(%d\n,*fp);

  }

  void FindCredit(int ** fpp)

  {

  while(**fpp!=0)

  if(**fpp<0) break;

  else (*fpp)++;

  }

  首先用一個數(shù)組的地址初始化指針fp,然后把該指針的地址作為實參傳遞給函數(shù)FindCredit()。FindCredit()函數(shù)通過表達式**fpp間接地得到數(shù)組中的數(shù)據(jù)。為遍歷數(shù)組以找到一個負(fù)值,F(xiàn)indCredit()函數(shù)進行自增運算的對象是調(diào)用者的指向數(shù)組的指針,而不是它自己的指向調(diào)用者指針的指針。語句(*fpp)++就是對形參指針指向的指針進行自增運算的。但是因為*運算符高于++運算符,所以圓括號在這里是必須的,如果沒有圓括號,那么++運算符將作用于二重指針fpp上。

【常用面試題目:關(guān)聯(lián)、聚合以及組合的區(qū)別】相關(guān)文章:

筆試面試題目描述內(nèi)存分配方式以及它們的區(qū)別12-13

線路交換的面試筆試常用題目12-10

詞的組合聚合關(guān)系與對外漢語詞匯教學(xué)11-20

雅思常用的關(guān)聯(lián)詞11-01

舞蹈動作和舞蹈語言的關(guān)聯(lián)和區(qū)別09-14

C++面試常用問題:"引用"與指針的區(qū)別12-11

CFO與CTO以及CHO之間的區(qū)別10-14

wap版、手機版以及web的區(qū)別10-16

描述RIP和OSPF區(qū)別以及特點11-30

具體的會計論文題目以及提綱08-09