第五章介紹的**將會複製所**的物件,就像複製**一樣。控制代碼允許保持**的多型行為的同時,還可以避免進行不必要的複製。
控制代碼類(handle class)也稱為 智慧型指標(smart pointer)。
乙個簡單的類:
class point
point(int x,int y):m_x(x),m_y(y){}
int x()const
int y()const
point& x(int x)
point& y(int y)
private:
int m_x;
int m_y;
};
控制代碼:
class upoint
upoint(const point&pv):p(pv),u(1) {}
upoint(int x,int y):p(x,y),u(1) {}
upoint(const upoint &up):p(up.p),u(1) {}
};
class handle
handle(int x,int y): up(new upoint(x,y)) {}
handle(const point&p): up(new upoint(p)) {}
handle(const handle &h)
: up(h.up)
handle& operator=(const handle &h)
up = h.up;
return *this;
}~handle()
}int x() const
int y() const
/*(1)指標語義,互相影響*/
handle& x(int x0)
handle& y(int y0)
/*(2)值語義,互不影響,寫時複製
handle& x(int xv)
handle& y(int yv)
*/private:
upoint *up;
/*(2)值語義,互不影響*/
void allocup()
}};
C 第一部分總結
c 一 一丶復合型別 1指標與引用 一 指標 1 指標的特點 指標持有乙個物件的位址,稱為指標 指向 該物件 通過指標可以間接操縱它指向的物件 2 指標的定義 型如int a char a,b 3 取位址符 使用取位址符 型如int pi ival 4 特殊 void型別 可以持有任何型別的位址值,...
第一部分 C 語言
第一部分 c 語言 330頁 10 33天 第一章 c 與.net框架 一 net框架 cts common type system 公共型別庫 cls common language system 公共語言規範 fcl framework class library 框架型別庫 clr提供程式執行...
第一部分 C 關鍵字
表1 c 關鍵 關鍵字 說明 關鍵字 說明 關鍵字 說明 關鍵字 說明 1 abstract 抽象類event 事件new 構造例項 隱藏方法 struct 結構體2 as轉化為 explicit null 空switch 分支語句 3 base extern object 基類 萬類之祖 this...