中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

怎么使用C++實現(xiàn)String類

小編給大家分享一下怎么使用C++實現(xiàn)String類,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

堅守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都成都集裝箱小微創(chuàng)業(yè)公司專業(yè)提供成都定制網(wǎng)站營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。

C++實現(xiàn)String類實例代碼

這是一道十分經(jīng)典的面試題,可以短時間內(nèi)考查學(xué)生對C++的掌握是否全面,答案要包括C++類的多數(shù)知識,保證編寫的String類可以完成賦值、拷貝、定義變量等功能。

#include<iostream> 
using namespace std; 
 
class String 
{ 
public: 
    String(const char *str=NULL); 
    String(const String &other); 
    ~String(void); 
    String &operator =(const String &other); 
private: 
    char *m_data; 
}; 
 
String::String(const char *str) 
{ 
  cout<<"構(gòu)造函數(shù)被調(diào)用了"<<endl; 
  if(str==NULL)//避免出現(xiàn)野指針,如String b;如果沒有這句話,就會出現(xiàn)野 
         //指針 
  { 
    m_data=new char[1]; 
    *m_data=''/0''; 
  } 
  else 
  { 
   int length=strlen(str); 
   m_data=new char[length+1]; 
   strcpy(m_data,str); 
  } 
} 
String::~String(void) 
{ 
  delete m_data; 
  cout<<"析構(gòu)函數(shù)被調(diào)用了"<<endl; 
} 
 
String::String(const String &other) 
{ 
 cout<<"賦值構(gòu)造函被調(diào)用了"<<endl; 
 int length=strlen(other.m_data); 
 m_data=new char[length+1]; 
 strcpy(m_data,other.m_data); 
} 
String &String::operator=(const String &other) 
{ 
   cout<<"賦值函數(shù)被調(diào)用了"<<endl; 
   if(this==&other)//自己拷貝自己就不用拷貝了 
         return *this; 
   delete m_data;//刪除被賦值對象中指針變量指向的前一個內(nèi)存空間,避免 
          //內(nèi)存泄漏 
   int length=strlen(other.m_data);//計算長度 
   m_data=new char[length+1];//申請空間 
   strcpy(m_data,other.m_data);//拷貝 
   return *this; 
} 
void main() 
{ 
   String b;//調(diào)用構(gòu)造函數(shù) 
   String a("Hello");//調(diào)用構(gòu)造函數(shù) 
   String c("World");//調(diào)用構(gòu)造函數(shù) 
   String d=a;//調(diào)用賦值構(gòu)造函數(shù),因為是在d對象建立的過程中用a來初始化 
   d=c;//調(diào)用重載后的賦值函數(shù) 
}

以上是“怎么使用C++實現(xiàn)String類”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前題目:怎么使用C++實現(xiàn)String類
文章位置:http://www.rwnh.cn/article20/ippdco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、定制網(wǎng)站、網(wǎng)站內(nèi)鏈、品牌網(wǎng)站設(shè)計、Google、App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
邯郸县| 元朗区| 开封市| 贵南县| 进贤县| 辽阳市| 来宾市| 图木舒克市| 景洪市| 平遥县| 和政县| 邻水| 临泉县| 西昌市| 观塘区| 会宁县| 上犹县| 绍兴市| 南开区| 三明市| 文山县| 宁国市| 普兰店市| 什邡市| 东丰县| 西城区| 威远县| 游戏| 建宁县| 白沙| 巫溪县| 鄱阳县| 磴口县| 湟中县| 宣恩县| 绥棱县| 自治县| 房产| 甘肃省| 获嘉县| 盘锦市|