C 中的圓括號過載

2021-08-06 04:25:03 字數 621 閱讀 3353

過載是c++靜態多型性的實現,不僅可以對函式進行過載,還可以對運算子進行過載,其中對圓括號()的過載容易引起混淆:

下面舉乙個例子,定義乙個box類,有x,y,z三個資料成員表示其長寬高,定義showvolume()函式顯示體積。

#include 

using

namespace

std;

class box

int showvolume()//顯示長方體的體積

private:

int x;

int y;

int z;

};int main()

在物件申明的時候可以在物件名後面加上圓括號,寫入引數,此時呼叫的是建構函式。如果類沒有對圓括號進行過載,後面再使用物件名(),則編譯就會報錯。如上面的box1(1,1,1)就會報錯,定義圓括號過載之後,第二次呼叫box1(1,1,1)則沒有問題。

圓括號的過載簡化了程式碼量,但是在使用的時候要和建構函式區分開來。

博文說明

本博文為作者根據自身之經驗所創作,限於作者水平,錯誤疏漏在所難免。如果您發現文章中有任何不合適的地方,歡迎與作者聯絡。

如果萬幸博文為您認可,需要轉載或者其它操作,請與作者聯絡。

vector中的圓括號和花括號

1.圓括號和花括號 include include include using namespace std int main vectorv int2 10 cout vector v int endl for auto i v int cout i endl cout endl cout vect...

正則中圓括號 方括號 大括號 的區別和用法

之前遇到要用正則判斷輸入字串的小需求中遇到了問題,連續的字串不知道怎麼判斷。如郵箱結尾的.com cn net等。於是乎查閱資料 括號 括號是多個匹配,它把括號內的當做一組來處理,限制一些多選的範圍,比如上面的需求只能是com cn net結尾的用括號就是最好的選擇。括號能提取字串,如 com cn...

C 之過載陣列下標 與圓括號 運算子的方法

過載陣列下標運算子 include using namespace std class vector int operator int nindex 過載陣列下標運算子 private int m ngril 4 過載陣列下標運算子 int vector operator int nindex re...