日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

String 的普通构造函数、拷贝构造函数、析构函数、赋值函数

發(fā)布時間:2025/10/17 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 String 的普通构造函数、拷贝构造函数、析构函数、赋值函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)自:http://blog.csdn.net/xiaoxiangzhu660810/article/details/8149398

題目:編寫類String的構(gòu)造函數(shù)、析構(gòu)函數(shù)和賦值函數(shù),已知類String的原型為: 

解答:
(1)//普通構(gòu)造函數(shù)
構(gòu)造函數(shù):構(gòu)造函數(shù)是一種特殊的方法,主要用來在創(chuàng)建對象時初始化對象,即為對象成員變量賦初始值,總與new運算符一起使用在創(chuàng)建對象的語句中,特別的一個類可以有多個構(gòu)造函數(shù),可根據(jù)其參數(shù)個數(shù)的不同或參數(shù)類型的不同來區(qū)分它們,即構(gòu)造函數(shù)的重載。 String::String(const char *str) {if(str == NULL){m_data = newchar[1]; *m_data ='\0';}else{int length = strlen(str);m_data = newchar[length+1]; strcpy(m_data,str);} }(2)//拷貝構(gòu)造函數(shù)
拷貝構(gòu)造函數(shù):拷貝構(gòu)造函數(shù),是一種特殊的構(gòu)造函數(shù),它由編譯器調(diào)用來完成一些基于同一類的其他對象的構(gòu)建及初始化。其唯一的參數(shù)(對象的引用)是不可變的(const類型)。此函數(shù)經(jīng)常用在函數(shù)調(diào)用時用戶定義類型的值傳遞及返回??截悩?gòu)造函數(shù)要調(diào)用基類的拷貝構(gòu)造函數(shù)和成員函數(shù)。如果可以的話,它將用常量方式調(diào)用,另外,也可以用非常量方式調(diào)用。
String::String(const String &other) {int length = strlen(other.m_data);m_data = newchar[length+1]; strcpy(m_data,other.m_data); }(3)// String的析構(gòu)函數(shù)
析構(gòu)函數(shù):析構(gòu)函數(shù)(destructor) 與構(gòu)造函數(shù)相反,當(dāng)對象脫離其作用于時(例如對象所在的函數(shù)已調(diào)用完畢),系統(tǒng)自動執(zhí)行析構(gòu)函數(shù)。析構(gòu)函數(shù)往往用來做“清理善后” 的工作(例如在建立對象時用new開辟了一片內(nèi)存空間,應(yīng)在退出前在析構(gòu)函數(shù)中用delete釋放)。
String::~String(void) {delete []m_data; // 或deletem_data; }(4)//賦值函數(shù)
String & String::operate =(const String&other) // 輸入?yún)?shù)為const型 {if(this == &other)   //檢查自賦值return *this;delete []m_data;     //釋放原有的內(nèi)存資源int length = strlen( other.m_data );m_data = newchar[length+1];  //對m_data加NULL 判斷strcpy(m_data, other.m_data );return *this;        //返回本對象的引用 }注意:在這個類中包括了指針類成員變量m_data,當(dāng)類中包括指針類成員變量時,一定要重載其拷貝構(gòu)造函數(shù)、賦值函數(shù)和析構(gòu)函數(shù)。

總結(jié)

以上是生活随笔為你收集整理的String 的普通构造函数、拷贝构造函数、析构函数、赋值函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。