#include
using namespace std;
#include
class string
string(string &a) //2、為什麼要用& ,優點在哪
~string()
} void print()
string & operator =(const string & a)
string & operator+(const string & a)
char & operator(int i)
return ptr[i]; }
friend istream & operator>>(istream&is,const string & a);
friend ostream & operator<<(ostream&is,const string & a); };
istream & operator>>(istream & is,const string & a)
ostream & operator<<(ostream & os,const string & a)
int main()
1、關於第乙個問題,為什麼要用成員初始化列表,其原因在於:
1)、成員初始化列表寫法方便、簡練;尤其當需要初始化的資料成員較多時更顯其優越性。
2)、在c++中某些型別的成員是不允許在建構函式中用賦值語句直接賦值的,例如,對於const修飾的資料成員,或是引用型別的資料成員,是不允許用賦值語句直接賦值的,因此,只能用成員初始化列表賭氣進行初始化。
2、關於為什麼要用物件的引用&,而不只是物件
使用&可以確保傳過來的引數就是物件本身,傳的是乙個位址,並且&並不會另外開闢記憶體單元,使用物件引用作為函式引數不但具有物件指標作為函式引數的優點,而且物件引用用作函式引數將是程式簡單,直接。
模擬實現string類
在c 中,string其實就是將字串封裝起來的類,呼叫類中的成員函式可以完成對類內的字串進行增刪查改,並且將操作符過載,可以更直觀的操作字串,省去了c語言中很多麻煩的操作,有現成的成員函式供我們使用。舉乙個簡單的例子 在c語言中要在一串字串的尾部拼接另乙個字串,我們需要做的事情就是定義兩個字串,要使...
string類模擬實現
define crt secure no warnings include include using namespace std class string iterator end const iterator begin const const iterator end const 無參建構函式...
String 類的模擬實現
string 類的模擬實現 一 建構函式使用初始化列表的優點 建構函式的執行分為兩個階段 初始化階段和計算階段,初始化階段先於計算階段 賦值語句 在使用建構函式給資料成員進行初始化時通常有兩種選擇。一是在建構函式後加上冒號,並用初始化列表的方式對成員進行初始化。二是在建構函式體中用賦值語句完成對成員...