源**
1 #include 2class
customer39
10qstring getname()
1114
15private:16
qstring m_name;
17};
1819
class
order
2026
27qstring getcustomername()
2831
32void
setcustomer(qstring customername)
3336
37private
:38 customer *m_pcustomer;
39};
4041
static
int numberofordersfor(qlistorders, qstring customer)
4252}53
54return
result;
55 }
到目前為止,客戶customer物件還是值物件value object。
即就算多份訂單屬於同一客戶,但每個訂單order物件還是擁有各自的客戶customer物件。
我希望改變這一現狀:使得一旦發現同一客戶擁有多份不同的訂單,那麼所有這些訂單order物件只可以共享同乙個客戶customer物件。
將實值物件改為引用物件
1 #include 2總結class
customer39
10qstring getname()
1114
15private:16
qstring m_name;
17};
1819
class
order
2027
28int
getid()
2932 customer*getcustomer()
3336
37private:38
intm_nid;
39 customer *m_pcustomer; //
引用物件
40};
4142
class
customerlist
4349
50 customer *getbyname(qstring name)
5159 ++iter;60}
61customer(name));
63return
(m_pcustomerlist.back());64}
6566
private:67
void
loadcustomers()
6873
74private
:75 qlistm_pcustomerlist;
76};
7778
79int main(int argc, char *ar**)
8096
97return
a.exec();98}
99100
//run out:
101/*
102order id :: 1 customer :: 0x206348
103order id :: 2 customer :: 0x206250
104order id :: 3 customer :: 0x206a28
105order id :: 4 customer :: 0x206348
106order id :: 5 customer :: 0x206250
107order id :: 6 customer :: 0x206a28
108order id :: 7 customer :: 0x206da8
109*/
從乙個類衍生出許多彼此相等的例項,希望將它們替換為同乙個物件。將這個值物件變為引用物件。
good good study, day day up.
順序 選擇 迴圈 總結
將引用用於類物件
將引用用作類物件,常用的做法是使用引用。例如 includeusing namespace std string version 1 const string s1,const string s2 接收兩個string引數這兩個引數 const string version2 string s1,c...
PHP物件傳值 引用傳值
物件傳值本質上是引用傳值,將乙個物件變數 a 賦值給另個變數 b 實際上是將 a儲存的物件記憶體引用位址賦值 b,此時兩個變數指向的就是乙個物件。其中乙個變數傳送改變,另乙個也會跟著改變。和引用變數乙個道理。1.物件傳值示例 物件傳值本質上就是引用傳值 a new user b a 物件傳值 var...
session未將物件引用設定到物件的例項
使用session的方法應該說很簡單,在乙個頁面賦值,另乙個頁面呼叫就可以了。自己在編制程式時犯了乙個大錯誤,即語句的順序搞倒了,如 session username namebox.text response.redirect shuru.aspx 先賦值再轉頁,而我剛開始是反過來寫了,那 麼se...