亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

詳解C++中的函數調用和下標以及成員訪問運算符的重載

2020-01-26 14:45:12
字體:
來源:轉載
供稿:網友

函數調用
使用括號調用的函數調用運算符是二元運算符。
語法

primary-expression ( expression-list )

備注
在此上下文中,primary-expression 為第一個操作數,并且 expression-list(可能為參數的空列表)為第二個操作數。函數調用運算符用于需要大量參數的操作。這之所以有效,是因為 expression-list 是列表而非單一操作數。函數調用運算符必須是非靜態成員函數。
函數調用運算符在重載時不會修改函數的調用方式;相反,它會在運算符應用于給定類的類型的對象時修改解釋該運算符的方式。例如,以下代碼通常沒有意義:

Point pt;pt( 3, 2 );

但是,如果存在一個適當的重載函數調用運算符,則此語法可用于將 x 坐標偏移 3 個單位并將 y 坐標偏移 2 個單位。下面的代碼顯示了這樣的定義:

// function_call.cppclass Point{public:  Point() { _x = _y = 0; }  Point &operator()( int dx, int dy )    { _x += dx; _y += dy; return *this; }private:  int _x, _y;};int main(){  Point pt;  pt( 3, 2 );}

請注意,函數調用運算符適用于對象的名稱,而不是函數的名稱。
也可以使用指向函數的指針(而非該函數本身)重載函數調用運算符。

typedef void(*ptf)();void func(){}struct S{  operator ptf()  {   return func;  }};int main(){  S s;  s();//operates as s.operator ptf()()}

下標
下標運算符 ([ ])(如函數調用運算符)被視為二元運算符。下標運算符必須是采用單個參數的非靜態成員函數。此參數可以是任何類型,并指定所需的數組下標。
以下示例演示如何創建用于實現邊界檢查的 int 類型的矢量:

// subscripting.cpp// compile with: /EHsc#include <iostream>using namespace std;class IntVector {public:  IntVector( int cElements );  ~IntVector() { delete [] _iElements; }  int& operator[]( int nSubscript );private:  int *_iElements;  int _iUpperBound;};// Construct an IntVector.IntVector::IntVector( int cElements ) {  _iElements = new int[cElements];  _iUpperBound = cElements;}// Subscript operator for IntVector.int& IntVector::operator[]( int nSubscript ) {  static int iErr = -1;  if( nSubscript >= 0 && nSubscript < _iUpperBound )   return _iElements[nSubscript];  else {   clog << "Array bounds violation." << endl;   return iErr;  }}// Test the IntVector class.int main() {  IntVector v( 10 );  int i;  for( i = 0; i <= 10; ++i )   v[i] = i;  v[3] = v[9];  for ( i = 0; i <= 10; ++i )   cout << "Element: [" << i << "] = " << v[i] << endl;}Array bounds violation.Element: [0] = 0Element: [1] = 1Element: [2] = 2Element: [3] = 9Element: [4] = 4Element: [5] = 5Element: [6] = 6Element: [7] = 7Element: [8] = 8Element: [9] = 9Array bounds violation.Element: [10] = 10

注釋
當 i 在前一個程序中達到 10 時,operator[] 將檢測是否在使用超出邊界的下標并發出錯誤消息。
請注意,函數 operator[] 將返回引用類型。這會使它成為左值,從而使您可以在賦值運算符的任何一側使用下標表達式。

成員訪問
類成員訪問可通過重載成員訪問運算符 (亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

国产乱人伦真实精品视频| 欧美人成在线视频| 欧美成年人视频网站欧美| 在线视频免费一区二区| 日本一欧美一欧美一亚洲视频| 久久久久日韩精品久久久男男| 日韩综合中文字幕| 国产精品自拍偷拍| 日韩在线播放一区| 一区二区三区天堂av| 国模视频一区二区| 亚洲男人第一av网站| www欧美日韩| 成人免费黄色网| 成人精品久久一区二区三区| 久久久精品久久久久| 色狠狠av一区二区三区香蕉蜜桃| 91精品国产综合久久男男| 久久精品精品电影网| 欧美激情在线有限公司| 久久久999精品| 国产在线观看精品一区二区三区| 97在线免费观看| 午夜精品久久久久久久男人的天堂| 国产精品视频久| 久久精品亚洲精品| 韩国欧美亚洲国产| 欧美激情精品久久久久久变态| 大胆人体色综合| 欧美激情视频免费观看| 日韩欧美在线视频观看| 国产成人精品网站| 91久久夜色精品国产网站| 色老头一区二区三区在线观看| 欧美激情国产高清| 国模精品视频一区二区三区| 中文字幕日韩欧美| 日韩av免费在线看| 国语自产精品视频在线看一大j8| 久久好看免费视频| 97久久久免费福利网址| 国产va免费精品高清在线| 国产精品久久二区| 亚洲毛片在线看| 欧美极品欧美精品欧美视频| 中文字幕亚洲在线| 久久亚洲欧美日韩精品专区| 深夜福利日韩在线看| 国产午夜精品美女视频明星a级| 影音先锋日韩有码| 91精品国产色综合久久不卡98口| 日韩人体视频一二区| 日韩欧美一区二区三区| 久久久久久综合网天天| 91po在线观看91精品国产性色| 亚洲xxx自由成熟| 日韩一区二区三区xxxx| 伊人久久综合97精品| 国产精品狼人色视频一区| 国产97在线观看| 亚洲大胆人体在线| 日韩中文字幕在线播放| 91免费精品国偷自产在线| 超碰91人人草人人干| 国产一区二区三区在线免费观看| 国产日韩欧美另类| 一区二区三区精品99久久| 这里只有视频精品| 亚洲精品国产综合区久久久久久久| 青青草原成人在线视频| 亚洲图中文字幕| 日本欧美黄网站| 日韩成人黄色av| 亚洲欧洲偷拍精品| 日韩中文字幕视频在线观看| 国产日韩精品在线播放| 亚洲欧美日韩在线高清直播| 亚洲电影免费观看高清| 国产亚洲精品91在线| 成人精品网站在线观看| 国产成人久久久| 亚洲娇小xxxx欧美娇小| 狠狠躁夜夜躁人人躁婷婷91| 日韩av一区在线观看| 欧美视频专区一二在线观看| 国产亚洲成av人片在线观看桃| 精品国产福利在线| 91香蕉嫩草神马影院在线观看| 亚洲精品电影在线观看| 欧美日韩在线一区| 亚洲娇小xxxx欧美娇小| 午夜精品视频网站| 国产福利视频一区| 精品国产电影一区| 91网在线免费观看| 色偷偷av一区二区三区乱| 国产精品444| 亚洲精品第一国产综合精品| 精品成人69xx.xyz| 成人免费视频网| 中文字幕在线观看日韩| 欧美日韩亚洲一区二| 亚洲视频欧洲视频| 欧美情侣性视频| 精品久久香蕉国产线看观看亚洲| 日韩中文综合网| 国产成人精品日本亚洲| 亚洲精品网站在线播放gif| 亚洲成色777777女色窝| 国产精品a久久久久久| 免费91麻豆精品国产自产在线观看| 国产精品日韩欧美综合| 国产精品国产福利国产秒拍| 欧美色另类天堂2015| 在线观看视频99| 欧美日韩国产中文精品字幕自在自线| 日韩av电影免费观看高清| 91久久久亚洲精品| 亚洲国产精品va| 日本一区二区三区在线播放| 伊人久久久久久久久久久久久| 精品国产91乱高清在线观看| 日韩精品免费在线视频观看| 国产成人综合亚洲| 国产精品青草久久久久福利99| 国产一区二区三区日韩欧美| 欧美性猛交xxxx乱大交蜜桃| 亚洲精品综合久久中文字幕| 日韩av电影手机在线观看| 91在线色戒在线| 中文字幕视频在线免费欧美日韩综合在线看| 在线观看精品自拍私拍| 中文字幕在线观看日韩| 国产美女主播一区| 欧美激情精品久久久久久大尺度| 国产情人节一区| 亚洲国产精品久久久久秋霞不卡| 97超级碰碰人国产在线观看| 成人在线视频网| 91免费高清视频| 成人深夜直播免费观看| 91黑丝高跟在线| 欧美激情精品久久久久久变态| 久久人人爽人人爽人人片亚洲| 欧美高清视频在线播放| 久久伊人精品天天| 国产精品久久久久久一区二区| 神马久久久久久| 亚洲欧美精品一区| 国产精品亚洲аv天堂网| 最近中文字幕日韩精品| 欧美区在线播放| 亚洲精品狠狠操| 国产精品成熟老女人| 国产a级全部精品| 亚洲第一av网站| 欧美老少配视频| 欧美肥婆姓交大片| 欧美国产日韩在线| 精品视频在线播放| 国产视频观看一区| 国产精品中文久久久久久久| 国产成人久久久精品一区| 91av视频在线观看|