国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++的算符重載

2019-09-06 23:33:19
字體:
來源:轉載
供稿:網友

                    算符重載的作用是什么?它允許你為類的用戶提供一個直覺的接口。 算符重載允許C/C++的運算符在用戶定義類型(類)上擁有一個用戶定義的意義。重載的算符是函數調用的語法修飾:  
class Fred {
 public:    // …
};

#if 0           // 沒有算符重載:
Fred add(Fred, Fred);
Fred mul(Fred, Fred);

Fred f(Fred a, Fred b, Fred c)
{
 return add(add(mul(a,b), mul(b,c)), mul(c,a)); // 哈哈,多可笑…
}

#else   // 有算符重載:
Fred operator+ (Fred, Fred);
Fred operator* (Fred, Fred);

Fred f(Fred a, Fred b, Fred c)
{
 return a*b + b*c + c*a;
}

#endif



  算符重載的好處是什么?

  通過重載類上的標準算符,你可以發掘類的用戶的直覺。使得用戶程序所用的語言是面向問題的,而不是面向機器的。 最終目標是降低學習曲線并減少錯誤率。



  有什么算符重載的實例?這里有一些算符重載的實例:

myString + yourString 可以連接兩個 std::string 對象

myDate++ 可以增加一個 Date 對象

a * b 可以將兩個 Number 對象相乘

a 可以訪問 Array 對象的某個元素

x = *p 可以反引用一個實際“指向”一個磁盤記錄的 "smart pointer" 主站蜘蛛池模板: 瓦房店市| 庆元县| 永福县| 应城市| 雅安市| 洛阳市| 无为县| 平塘县| 大安市| 桂阳县| 伽师县| 连江县| 汉川市| 洛阳市| 新绛县| 遵化市| 长治市| 潮安县| 大名县| 福泉市| 闵行区| 大港区| 汝城县| 友谊县| 瓦房店市| 大悟县| 泽库县| 汉川市| 德令哈市| 克拉玛依市| 沅陵县| 新沂市| 含山县| 桦南县| 东兴市| 凤山市| 固阳县| 仙居县| 锡林浩特市| 新安县| 舒兰市|