3 回答

TA貢獻(xiàn)2051條經(jīng)驗(yàn) 獲得超10個(gè)贊
從你的問(wèn)題中可以看出你對(duì)指針的運(yùn)用還很模糊。
指針的定義
就像int a為定義一個(gè)int類(lèi)型的變量a.
int * pnum 你這樣看 (int *) pnum 代表pnum是一個(gè)指向int數(shù)據(jù)類(lèi)型的指針。
int *pnum = # //定義一個(gè)int類(lèi)型指針pnum 并把num的地址賦給pnum。
指針的使用
使用時(shí)與定義不一樣,這時(shí)的*不能和定義時(shí)的* 混亂為一談。
* pnum是取該指針指向的數(shù)據(jù)的值。
int incr10(int* pnum) 這樣看 int incr10((int*) pnum)
而不是int incr10(int (* pnum)) 你就很清楚了。
這個(gè)函數(shù)的參數(shù)是int * 所以incr10(pnum)OK。
指針是C語(yǔ)言比較精髓的地方,你現(xiàn)在對(duì)指針使用過(guò)程中有很多還不是很清楚。
仔細(xì)看一下書(shū),仔細(xì)。多看,多寫(xiě),多想,會(huì)有很多收獲的
曾經(jīng)的我就是這么過(guò)來(lái)的。

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊
BaseEllipse(double x0=0,double y0=0):x(x0),y(y0){}就是這個(gè)類(lèi)的構(gòu)造函數(shù),冒號(hào)后面的是類(lèi)成員的初始式。如果類(lèi)成員中有類(lèi)對(duì)象,則在冒號(hào)后面可以一個(gè)一個(gè)地調(diào)用類(lèi)對(duì)象的構(gòu)造函數(shù)。
1 對(duì)于double這種類(lèi)型,可以選擇使用初始式(就是上面的方法)或者使用賦值(就是在函數(shù)體里 面對(duì) x y 進(jìn)行賦值);
2 但是前者的方式(冒號(hào)后面跟初始式)對(duì)于
a 沒(méi)有默認(rèn)構(gòu)造函數(shù)的對(duì)象
b const成員和引用成員
是必不可少的。
3 使用初始式除了可以使得初始化的情況更加明顯,有時(shí)候還可能帶來(lái)效率上的優(yōu)勢(shì),例如要初始化的對(duì)象是string的時(shí)候。

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
int *pnum = &num 就是取num地址給pnum
nt incr10(int* pnum)的形參不是int,而是int*,是個(gè)地址
- 3 回答
- 0 關(guān)注
- 351 瀏覽
添加回答
舉報(bào)