說明:**來自《程式設計師面試寶典》
#includeusing namespace std;
class string
;string::string(const char *str)
else
}string::~string()
string::string(const string &other)//相當於對乙個新的例項進行初始化化,other表示提供值的哪乙個例項
else
}string::string::operator=(const string &other)//賦值函式
c++中的賦值和拷貝:
拷貝:對未初始化的記憶體進行初始化工作。
string s1("hello"); string s2(s1)//或string s2=s1;
賦值:對已初始化的記憶體進行再操作(重新賦值)
string s1("hello"); string s2; string s2=s1;//s2已經被初始化過了,只不過初始化為空
int length=strlen(other.m_data)計算的是指標所指字串長度而不是指標的長度。
注意sizeof和strlen
strlen:乙個用來計數的函式,接收乙個char *作為引數,碰到'\0'結束。所以必須是計算以'\0'結尾的(不包括'\0')。
#includeusing namespace std;
int main()
void getn()
{cout《父類的函式和變數不會因為同名而被子類覆蓋,父類指標變數要指明初始化,其他變數可預設。
C 空類預設產生的成員
一共有6個 empty 預設建構函式 empty const empty 預設拷貝建構函式 empty 預設析構函式 empty operator const empty 預設賦值運算子 empty operator 取址運算子 const empty operator const 取址運算子 co...
C 中的空類預設產生的類成員函式
對於乙個c 的空類 比如empty 1 class empty 2 雖然empty類定義中沒有任何成員,但為了進行一些預設的操作,編譯器會加入以下一些成員函式,這些成員函式使得類的物件擁有一些通用的功能 1 預設建構函式和複製建構函式。他們被用於類的物件的構造過程。2 析構函式。它被用於類的物件的析...
類的預設成員函式
class time time int hour,int minute,int second 有參的建構函式 time int hour 9,int minute 54,int second 23 全預設建構函式 time int hour,int minute 12,int second 30 半...