類String的建構函式 析構函式和賦值函式

2021-07-10 11:21:51 字數 995 閱讀 1752

海康威視16年春季校招程式設計題目

題目:編寫類string的建構函式、析構函式和賦值函式,已知類string的原型為:

class string

;

解答:(1)//普通建構函式

建構函式:建構函式是一種特殊的方法,主要用來在建立物件時初始化物件,即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的語句中,特別的乙個類可以有多個建構函式,可根據其引數個數的不同或引數型別的不同來區分它們,即建構函式的過載。

string::string(const char *str)

else

}

(2)//拷貝建構函式

拷貝建構函式:拷貝建構函式,是一種特殊的建構函式,它由編譯器呼叫來完成一些基於同一類的其他物件的構建及初始化。其唯一的引數(物件的引用)是不可變的(const型別)。此函式經常用在函式呼叫時使用者定義型別的值傳遞及返回。拷貝建構函式要呼叫基類的拷貝建構函式和成員函式。如果可以的話,它將用常量方式呼叫,另外,也可以用非常量方式呼叫。

string::string(const string &other) 

(3)// string的析構函式

析構函式:析構函式(destructor) 與建構函式相反,當物件脫離其作用於時(例如物件所在的函式已呼叫完畢),系統自動執行析構函式。析構函式往往用來做「清理善後」 的工作(例如在建立物件時用new開闢了一片記憶體空間,應在退出前在析構函式中用delete釋放)。

string::~string(void)

(4)//賦值函式

string & string::operate =(const string&other) // 輸入引數為const型

類建構函式 析構函式

下面的例項有助於更好地理解建構函式的概念 include using namespace std class line 成員函式定義,包括建構函式 line line void void line setlength double len double line getlength void 程式的...

類建構函式,類析構函式

類建構函式 the class constructor 是乙個特殊的類成員函式,當我們建立這個類的新物件時,會被執行。乙個建構函式將被確定與類名相同的名字,沒有任何返回值,包括void。建構函式對於給某些類成員變數設定初始值非常有用。例子 include using namespace std cl...

編寫類String的建構函式 析構函式和賦值函式

編寫類string的建構函式 析構函式和賦值函式,已知類string的原型為 class string public string const char str null 普通建構函式 string const string other 拷貝建構函式 string void 析構函式 string ...