国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

一個string類的簡單實現案例

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

string類中使用到了賦值構造函數、復制構造函數、構造函數、默認構造函數、析構函數、重載操作符等一些類操作

class String{	public:		String()		{			data = new char[1];  //這里為什么使用new char[1]呢,雖然是一個字符,這是為了和析構函數保持對稱,因為在別的構造函數中使用的char[]			data[0]='/0';			length = 0;		}		String(const char* str)		{			length = strlen(str);			data = new char[length+1];			strcpy(data,str);			data[length]='/0';		}		String(const char* str,int n)		{			length = n;			data = new char[n+1];			strncpy(data,str,n);			data[length] ='/0';		}		String(const String& src) //拷貝構造函數 也就是復制構造函數		{			length = src.length;			data = new char[length+1];			strcpy(data,src.data);		}		String& operator=(const String& src) //賦值構造函數		{			if(this == &src)				return *this;			delete [] data;			data = new char[src.length+1];			strcpy(data,src.data);			return *this;		}		String& operator=(const char* src) //另一種的賦值構造函數		{			delete [] data;			length = strlen(src);			data = new char[length+1];			strcpy(data,src);			return *this;		}		char& operator[](int n)		{			return data[n];		}		const char& operator[](int n) const  //對于const成員函數 最好就是返回const的引用,這樣是為了避免返回值被修改		{			return data[n];		}	friend	ostream& operator<<(ostream& os,const String& st); 		 		~String()		{			delete [] data;			}	private:		char* data;		int length;	};ostream& operator<<(ostream& os,const String& st){   os<<st.data;  return os;}

以上這篇一個string類的簡單實現案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

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

圖片精選

主站蜘蛛池模板: 北流市| 自治县| 清水县| 东方市| 麻江县| 朝阳市| 鄂伦春自治旗| 潜山县| 伊川县| 墨玉县| 全椒县| 大埔县| 揭西县| 科技| 连江县| 廊坊市| 东阿县| 桂东县| 开远市| 北安市| 游戏| 湄潭县| 老河口市| 治多县| 民乐县| 弥渡县| 清水县| 台东市| 沅江市| 东方市| 临洮县| 台湾省| 贵港市| 左云县| 荣昌县| 获嘉县| 聂荣县| 如皋市| 上杭县| 龙山县| 龙泉市|