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

首頁 > 編程 > C++ > 正文

String類的寫時拷貝實例

2020-05-23 13:53:51
字體:
來源:轉載
供稿:網友

實例如下:

#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類的寫時拷貝實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美理论片在线观看| 久久久噜噜噜久久久| 韩国三级日本三级少妇99| 亚洲综合在线播放| 国产精品视频免费观看www| 伊人激情综合网| 亚洲色图欧美制服丝袜另类第一页| 91精品一区二区| 综合国产在线观看| 久久久亚洲天堂| 久久99国产综合精品女同| 欧美激情欧美激情| 亚洲第一福利网站| 影音先锋欧美在线资源| 日韩av网址在线观看| 91久久中文字幕| 国产一区二区三区在线播放免费观看| 亚洲欧美福利视频| 茄子视频成人在线| 欧美理论电影在线观看| 国产午夜精品视频免费不卡69堂| 国产一区二区动漫| 日韩在线观看视频免费| 亚洲老板91色精品久久| 国产mv久久久| 国产精品福利观看| 中文字幕精品www乱入免费视频| 亚洲欧美综合v| 亚洲少妇激情视频| 国产精品美女久久久免费| 午夜精品一区二区三区在线播放| 久久久久久久久久久91| 91tv亚洲精品香蕉国产一区7ujn| 久久久久久久久久久91| 亚洲精品www久久久| 欧洲精品久久久| 国产精品福利在线观看网址| 欧美亚洲视频在线看网址| 丝袜亚洲另类欧美重口| 亚洲视频在线免费看| 伊人伊人伊人久久| 久久精品最新地址| 欧美另类99xxxxx| 97视频在线观看视频免费视频| 亚洲韩国日本中文字幕| 欧美怡春院一区二区三区| 动漫精品一区二区| 国产精品自拍偷拍视频| 日韩av在线电影网| 久久中文字幕视频| 国产精品久久久久9999| 清纯唯美亚洲激情| 日韩经典中文字幕在线观看| 精品久久久999| 成人看片人aa| 亚洲成年人在线| 亚洲精品视频在线观看视频| 国产成人拍精品视频午夜网站| 国产欧亚日韩视频| 疯狂做受xxxx欧美肥白少妇| 理论片在线不卡免费观看| 久久久国产一区二区三区| 亚洲精品一区二三区不卡| 国产精品a久久久久久| 91高潮在线观看| 91国自产精品中文字幕亚洲| 欧美丝袜美女中出在线| 91热精品视频| 中文字幕视频在线免费欧美日韩综合在线看| 久久99亚洲精品| 久久久av电影| 日韩成人xxxx| 亚洲片在线资源| 欧美日韩亚洲一区二区三区| 51ⅴ精品国产91久久久久久| 综合久久五月天| 国产精品最新在线观看| 久久久欧美精品| 国产一区二区视频在线观看| 国产日产久久高清欧美一区| 日韩亚洲国产中文字幕| 91精品久久久久久久久青青| 国产亚洲一区精品| 日韩高清电影好看的电视剧电影| 精品国产91久久久| 国产精品羞羞答答| 日韩精品中文字幕有码专区| 欧美精品福利视频| 欧美激情xxxxx| 国产69久久精品成人看| 久久的精品视频| 亚洲电影成人av99爱色| 国产精品大陆在线观看| 欧美日韩一区二区免费在线观看| 在线观看国产精品日韩av| 日本成熟性欧美| 欧美激情精品久久久久| 日韩欧美精品网站| 日韩在线观看免费高清| 欧美性视频精品| 亚洲无av在线中文字幕| 2025国产精品视频| 欧美电影在线观看高清| 国内精品久久久久久| 精品一区二区电影| 一区二区三区四区视频| 久久精品视频va| 精品人伦一区二区三区蜜桃免费| 在线观看欧美成人| 庆余年2免费日韩剧观看大牛| 成人激情在线播放| 亚洲一区亚洲二区亚洲三区| 欧美大片欧美激情性色a∨久久| 国产成人久久久| 亚洲人成电影在线观看天堂色| 精品久久久久久中文字幕| 日韩在线精品一区| 一区三区二区视频| 色综合伊人色综合网| 成人免费大片黄在线播放| 欧美老女人在线视频| 在线视频中文亚洲| 98视频在线噜噜噜国产| 成人黄色av播放免费| 91精品久久久久| 青青在线视频一区二区三区| 亚洲欧洲国产精品| 一夜七次郎国产精品亚洲| 91理论片午午论夜理片久久| 国产午夜精品视频免费不卡69堂| 国产精品专区h在线观看| 久久亚洲一区二区三区四区五区高| 亚洲国产一区二区三区四区| 日韩精品视频免费在线观看| 国产精品久久久久久av下载红粉| 97在线观看免费| 在线观看久久久久久| 国产精品免费久久久久久| 亚洲第一免费网站| 国产午夜精品一区理论片飘花| 成人在线国产精品| 精品日本美女福利在线观看| 国产精品一二三在线| 成人免费黄色网| 97在线看免费观看视频在线观看| 中文字幕av一区二区三区谷原希美| 国产精品国语对白| 成人在线一区二区| 欧美亚洲国产另类| 精品久久久久久久久久| 久久九九亚洲综合| 国产美女精品视频免费观看| 亚洲韩国青草视频| 国产日韩在线精品av| 一区三区二区视频| 欧美一级黄色网| 国产日韩在线亚洲字幕中文| 国产精品入口夜色视频大尺度| 国产一区二区三区直播精品电影| 欧美肥老太性生活视频| 久久精品小视频| 色偷偷9999www| 中文字幕在线观看亚洲| 亚洲精品成人久久久|