亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

String類的寫時拷貝實例

2020-01-26 14:16:37
字體:
來源:轉載
供稿:網友

實例如下:

#include<iostream>using namespace std; class String;ostream& operator<<(ostream &out, const String&s);//引用計數器類class String_rep {  friend class String;  friend ostream& operator<<(ostream &out, const String&s);public:    String_rep(const char *str )      :use_count(0)    {      if (str == NULL)      {        data = new char[1];        data[0] = '/0';      }      else      {        data = new char[strlen(str) + 1];        strcpy(data, str);      }    }      String_rep(const String_rep &rep) :use_count(0)    {      data = new char[strlen(rep.data) + 1];      strcpy(data, rep.data);    }    String_rep& operator=(const String_rep &rep)    {      if (this != &rep)      {        delete[]data;        data = new char[strlen(rep.data) + 1];        strcpy(data, rep.data);      }      return *this;    }    ~String_rep()    {        delete[]data;        data = NULL;    }public:  void increase()  {    ++use_count;  }    void decrease()  {    if (use_count == 0)    {      delete this; //自殺行為  釋放this所指的空間,在釋放之前調動這個類的析構函數     }  }private:    char *data;    int use_count;};////////////////////////////////////////////////////////////////////////////////////////class String{   friend ostream& operator<<(ostream &out, const String&s);public:  String(const char* str = " ")  {    rep = new String_rep(str);    rep->increase();  }  String(const String &s)  {    rep = s.rep;   //淺拷貝    rep->increase();  }  String& operator=(const String &s)  {    if (this != &s)    {      rep->decrease();  //模擬delete      rep = s.rep;      //模擬new      rep->increase();   //模擬strcpy      /*rep = s.rep;  //這會更改引用計數器指針 ,造成s內存泄漏      rep->increase();*/    }    return *this;  }    ~String()    {      rep->decrease();    }public:  void to_upper()  {    if (rep->use_count > 1)    {      String_rep* new_rep = new String_rep(rep->data);      rep->decrease();      rep = new_rep;      rep->increase();    }    char* ch = rep->data;    while (*ch != '/0')    {      *ch -= 32;      ++ch;    }  }private:  String_rep *rep; //引用計數器};ostream& operator<<(ostream &out, const String&s){  out << s.rep->data;  return out;}void main(){  String s1("hello");  String s2(s1);  String s3;  s3 = s2;  cout << "s1=" << s1 << endl;  cout << "s2=" << s2 << endl;  cout << "s3=" << s3 << endl;   s2.to_upper();  cout << "-----------------------------------------------" << endl;    cout << "s1=" << s1 << endl;  cout << "s2=" << s2 << endl;  cout << "s3=" << s3 << endl;}

以上這篇String類的寫時拷貝實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
黑人巨大精品欧美一区二区免费| 97超视频免费观看| 日韩在线视频线视频免费网站| 精品国产乱码久久久久酒店| 欧美成人激情视频免费观看| 国内精品久久久久影院 日本资源| 国模私拍一区二区三区| 日韩精品丝袜在线| 欧美激情综合色综合啪啪五月| 国产精品成人品| 亚洲精品在线不卡| 91精品久久久久| 91av视频在线免费观看| 国产啪精品视频| 97在线视频免费看| 亚洲天堂免费在线| 久久精品一偷一偷国产| 欧美亚洲午夜视频在线观看| 国产一区二区三区18| 欧美日韩亚洲一区二区三区| 精品一区二区三区四区在线| 日韩av有码在线| 人人做人人澡人人爽欧美| 91精品久久久久久久久久久久久| 日韩免费观看av| 欧美乱妇高清无乱码| 欧美成人激情视频免费观看| 亚洲精品一区二区三区婷婷月| 都市激情亚洲色图| 国产91热爆ts人妖在线| 美女av一区二区三区| 亚洲free性xxxx护士hd| 88国产精品欧美一区二区三区| 亚洲大胆人体在线| 亚洲女人天堂色在线7777| 亚洲xxx大片| 日韩免费av在线| 一本大道亚洲视频| 51精品在线观看| 日本精品久久久| 少妇久久久久久| 亚洲电影在线观看| 精品国产成人在线| 欧美性生交xxxxxdddd| 国产91精品久| 国产精品久久久久秋霞鲁丝| 国产精品久久久久久久久粉嫩av| www.亚洲免费视频| www.日韩.com| 国外成人在线播放| 55夜色66夜色国产精品视频| 国产精品一区二区三区在线播放| 国产精品日韩在线一区| 在线成人激情视频| 欧美日韩国产丝袜另类| 欧美超级免费视 在线| 欧美亚洲免费电影| 亚洲缚视频在线观看| 亚洲理论电影网| 一区二区三区精品99久久| 欧美精品亚州精品| 国产精品va在线| 一区二区在线视频| 久久伊人精品视频| 国产91精品最新在线播放| 欧美乱人伦中文字幕在线| 国产精品免费一区| 亚洲女同精品视频| 国产亚洲aⅴaaaaaa毛片| 国产精品免费久久久| 亚洲精品白浆高清久久久久久| 最近2019好看的中文字幕免费| 91九色单男在线观看| 一区二区欧美日韩视频| 国产精品福利小视频| 国内外成人免费激情在线视频网站| 欧美精品久久久久久久久| 国产精品旅馆在线| 2024亚洲男人天堂| 成人黄色免费网站在线观看| 97视频在线免费观看| 九九精品在线播放| 欧美激情一二三| 亚洲国产精品国自产拍av秋霞| 欧美亚洲一区在线| 欧美裸体xxxx极品少妇| 91精品视频大全| 黄网站色欧美视频| 国产精品国产三级国产aⅴ浪潮| 日本韩国在线不卡| 欧美小视频在线观看| 亚洲天堂av在线免费| 久久精品国产2020观看福利| 久久久999国产精品| 在线视频亚洲欧美| 欧美在线日韩在线| 国产成人精品最新| 97超碰色婷婷| 美日韩丰满少妇在线观看| 亚洲一区美女视频在线观看免费| 国产精品劲爆视频| 欧美最猛性xxxxx(亚洲精品)| 精品视频久久久| 国产精品一区二区av影院萌芽| 麻豆精品精华液| 欧美精品成人在线| 久久亚洲影音av资源网| 色视频www在线播放国产成人| 欧美黑人极品猛少妇色xxxxx| 久久亚洲精品国产亚洲老地址| 懂色aⅴ精品一区二区三区蜜月| 国产亚洲日本欧美韩国| 日韩精品视频在线免费观看| 欧美日韩国产一区中文午夜| 久久精品99无色码中文字幕| 亚洲第一二三四五区| 国产成人一区三区| 亚州av一区二区| 91精品久久久久久综合乱菊| 亚洲精品国产拍免费91在线| 91精品国产综合久久久久久久久| 亚洲一区二区精品| 成人精品视频在线| 成人国产精品久久久久久亚洲| 韩日欧美一区二区| 久久久久女教师免费一区| 欧美日韩黄色大片| 欧美日韩国产激情| 成人网在线观看| 欧美一区二区三区四区在线| 91久久久久久国产精品| 国产欧美在线看| 国产玖玖精品视频| 青草成人免费视频| 亚洲电影在线看| 欧美人与物videos| 热久久免费国产视频| 欧美福利视频网站| 97色在线播放视频| 日本一区二区三区四区视频| 国产在线高清精品| 欧美亚洲国产日韩2020| 最好看的2019的中文字幕视频| 亚洲香蕉在线观看| 久久亚洲一区二区三区四区五区高| 欧美亚洲成人精品| 亚洲欧美国产精品久久久久久久| 久久影视电视剧凤归四时歌| 欧美丰满老妇厨房牲生活| 日韩性生活视频| 国产91久久婷婷一区二区| 日韩精品久久久久久久玫瑰园| 久久香蕉精品香蕉| 欧美国产在线电影| 成人精品久久久| 亚洲国产一区二区三区在线观看| 国产91色在线| 日韩毛片中文字幕| 青青在线视频一区二区三区| 97热精品视频官网| 97热在线精品视频在线观看| 欧美裸体xxxx极品少妇| 色噜噜狠狠狠综合曰曰曰88av| 国产精品福利久久久|