日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

类string的构造函数、拷贝构造函数和析构函数

發布時間:2025/3/15 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 类string的构造函数、拷贝构造函数和析构函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文:http://www.cnblogs.com/Laokong-ServiceStation/archive/2011/04/19/2020402.html

類string的構造函數、拷貝構造函數和析構函數

引用http://www.cppblog.com/life02/archive/2011/03/07/96085.html? 在這個帖子的基礎上稍微添加修改了點內容。

String 類的原型如下

class String
{
?? public:
????????? String(const char *str=NULL);?//構造函數
????????? String(const String &other); //拷貝構造函數
????????? ~String(void); //析構函數
????????? String& operator=(const String &other); //等號操作符重載

????????? ShowString();


?? private:
????????? char *m_data; //指針
};


String::~String()
{
??? delete [] m_data; //析構函數,釋放地址空間
}
String::String(const char *str)
{
??? if (str==NULL)//當初始化串不存在的時候,為m_data申請一個空間存放'\0';
???? {
??????? m_data=new char[1];
??????? *m_data='\0';
???? }
??? else//當初始化串存在的時候,為m_data申請同樣大小的空間存放該串;
???? {
??????? int length=strlen(str);
??????? m_data=new char[length+1];
??????? strcpy(m_data,str);
???? }
}


String::String(const String &other)//拷貝構造函數,功能與構造函數類似。
{
??? int length=strlen(other.m_data);
??? m_data=new [length+1];
??? strcpy(m_data,other.m_data);
}
String& String::operator =(const String &other)?
{
??? if (this==&other)//當地址相同時,直接返回;
??????? return *this;?
?
??? delete [] m_data;//當地址不相同時,刪除原來申請的空間,重新開始構造;

??? int length= strlen (other.m_data);
??? m_data=new [length+1];
??? strcpy(m_data,other.m_data);

??? return *this;?
}

String::ShowString()//由于m_data是私有成員,對象只能通過public成員函數來訪問;

{

???????? cout<<this->m_data<<endl;

}

main()
{
String AD;
char * p="ABCDE";
String B(p);
AD.ShowString();
AD=B;
AD.ShowString();


}

1. strCopy 函數可以為標準庫函數 char *strcpy(char *dest, const char *src);?

? ? 需要#inculde <string.h>

2.參考連接:

?? 高質量C++C編程指南?http://man.chinaunix.net/develop/c&c++/c/c.htm

??? 字符串函數?http://www.ggv.com.cn/forum/clib/string/strcpy.html

轉載于:https://www.cnblogs.com/zhizhan/p/4915502.html

總結

以上是生活随笔為你收集整理的类string的构造函数、拷贝构造函数和析构函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。