收獲感動(dòng)學(xué)會(huì )感恩記敘作文
涉及到UML中的一些概念:關(guān)聯(lián)是表示兩個(gè)類(lèi)的一般性聯(lián)系,比如“學(xué)生”和“老師”就是一種關(guān)聯(lián)關(guān)系;聚合表示has-a的關(guān)系,是一種相對松散的關(guān)系,聚合類(lèi)不需要對被聚合類(lèi)負責,用空的菱形表示聚合關(guān)系

從實(shí)現的角度講,聚合可以表示為:
class A {…} class B { A* a; …..}
而組合表示contains-a的關(guān)系,關(guān)聯(lián)性強于聚合:組合類(lèi)與被組合類(lèi)有相同的生命周期,組合類(lèi)要對被組合類(lèi)負責,采用實(shí)心的菱形表示組合關(guān)系
實(shí)現的形式是:
class A{…} class B{ A a; …}
拓展:
指針的指針
指針的指針看上去有些令人費解。它們的聲明有兩個(gè)星號。例如:
char ** cp;
如果有三個(gè)星號,那就是指針的指針的指針,四個(gè)星號就是指針的指針的指針的指針,依次類(lèi)推。當你熟悉了簡(jiǎn)單的例子以后,就可以應付復雜的情況了。當然,實(shí)際程序中,一般也只用到 二級指針,三個(gè)星號不常見(jiàn),更別說(shuō)四個(gè)星號了。
指針的指針需要用到指針的地址。
char c='A';
char *p=&c;
char **cp=&p;
通過(guò)指針的指針,不僅可以訪(fǎng)問(wèn)它指向的指針,還可以訪(fǎng)問(wèn)它指向的指針所指向的數據。下面就是幾個(gè)這樣的例子:
char *p1=*cp;
char c1=**cp;
你可能想知道這樣的結構有什么用。利用指針的指針可以允許被調用函數修改局部指針變量和處理指針數組。
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)++;
}
首先用一個(gè)數組的地址初始化指針fp,然后把該指針的地址作為實(shí)參傳遞給函數FindCredit()。FindCredit()函數通過(guò)表達式**fpp間接地得到數組中的數據。為遍歷數組以找到一個(gè)負值,FindCredit()函數進(jìn)行自增運算的對象是調用者的指向數組的指針,而不是它自己的指向調用者指針的指針。語(yǔ)句(*fpp)++就是對形參指針指向的指針進(jìn)行自增運算的。但是因為*運算符高于++運算符,所以圓括號在這里是必須的,如果沒(méi)有圓括號,那么++運算符將作用于二重指針fpp上。
【收獲感動(dòng)學(xué)會(huì )感恩記敘作文】相關(guān)文章:
學(xué)會(huì )感恩的作文01-17
學(xué)會(huì )感恩作文06-20
學(xué)會(huì )感恩_關(guān)于感恩的作文02-15
作文:學(xué)會(huì )收藏感動(dòng)04-20
學(xué)會(huì )感恩作文最新09-30
學(xué)會(huì )感恩作文【優(yōu)秀】01-03
- 相關(guān)推薦