|
運(yùn)算符重載,在C++里我已經(jīng)學(xué)習(xí)過,不過對于這個(gè)概念我還是有那么一點(diǎn)點(diǎn)模糊,而且在C#里它有更嚴(yán)格的要求。關(guān)于運(yùn)算符的重載,使用operator來指明即將要重載的運(yùn)算符,后面是參數(shù)表,我自己編寫了一個(gè)簡單的C#代碼來簡要的說明C++中的Cstring,這個(gè)過程可能你會覺得有點(diǎn)多余。
class Cstring
{
string text;
public string Text// 屬性查看器,在C++里是沒有這個(gè)概念的,用于獲取或設(shè)置某個(gè)成員
{
get;
set;
}
public Cstring()// 構(gòu)造函數(shù)
{
Text = null;
}
public Cstring(string str)// 帶一個(gè)參數(shù)的構(gòu)造函數(shù)
{
Text = str.ToString();
}
public static Cstring operator +(Cstring lhs, Cstring rhs)// 連接字符串
{
Cstring str;
str = new Cstring();
str.Text = lhs.Text;
str.Text += rhs.Text;
return str;
}
public static Cstring operator *(Cstring lhs, int mul)// 復(fù)制字符串
{
Cstring str;
str = new Cstring();
while(mul!=0)
{
str.Text += lhs.Text;
mul--;
}
return str;
}
}
運(yùn)算符的重載大概意思也就是返回(生成)一個(gè)新對象,并將重載運(yùn)算符當(dāng)作一個(gè)方法(函數(shù))來看待。我是這么理解的。
|
|