1樓:匿名使用者
void complex::add(complex c)和void complex::add(complex & c)還是有很大的差別的,下面的函式那個&是引用,即不建立新的物件complex c1=c2;(1)
complex& c1=c2;(2)
1式是需要呼叫拷貝建構函式
2式是c1等價於c2,也就是說c1變化c2也會變化,跟指標有點類似
2樓:匿名使用者
你可以這麼試一試,先把
double rpart,vpart;改成public,然後在add裡面最後加上
++c.rpart;
++c.vpart;
main函式最後加一句
c2.show();
這時add中的&加跟不加就有區別了
如果不加&,
++c.rpart;
++c.vpart;這兩句話就不起作用
3樓:匿名使用者
首先,沒看到有&;
其次,如果引數前面加了&表示引數傳遞引用,相當於傳遞地址過去,開銷較小,同時改變形參的話也會改變實參;
沒有加&表示傳值,那麼就會呼叫類的拷貝建構函式,開銷較大,同時改變形參對實參無影響
4樓:八濤
該地址的符號。
定義了一個變數
如:int i = 0;
然後初始化一個指標指向的變數i。
可以寫為:int * p = &i;
意思是指標p指向變數i。
p的值應為我和我的地址。
5樓:程式猿3號
沒看到&號啊。。。。
關於C 的問題,關於C 的一個問題
d centigrade 5 9 d fahrenheit 32 這一句的9 d fahrenheit 32 是希望表示9 d fahrenheit 32 嗎?d centigrade 5 9 d fahrenheit 32 這一句,結合cannot be used as a function,編譯...
C類的問題,C 關於類的問題
定義類時,沒有任何成員資料和成員函式是必須的,你完全可以定義一個空類 class a 關於public protected private,可以舉例解釋 class a 和類同名的函式,是建構函式,在此對成員初始化。int m a 在外部,a.m a的寫法是可以的。protected 此後的所有成員...
linux關於符號連結的問題,簡單
我的分析是這樣的,在你建立passwd hard之後,只是在test目錄下增加了一個檔名。如果test本身的block夠的話,系統的inode和block不會變的。然而你的軟連線為什麼失效呢,因為在你建立軟連線之後,新增了一個文件並且佔用inode與block。inode指向你文件block的內容就...