C++隨筆

1.點(.)操作符和箭頭(->)操作符

當(dāng)定義類對象是指針對象時候,就需要用到 “->” 指向類中的成員;當(dāng)定義一般對象時候時就需要用到 “.” 指向類中的成員…….
例如:

class A 
{ 
      public:
      play(); 
}

如果定義如下:

A *p則:p->play()使用; 左邊是結(jié)構(gòu)指針。
A p 則:p.paly()使用; 左邊是結(jié)構(gòu)變量。

總結(jié):
箭頭(->):左邊必須為指針;
點號(.):左邊必須為實體。

2.作用域符號::

(1) 作用域符號::的前面一般是類名稱,后面一般是該類的成員名稱,C++為例避免不同的類有名稱相同的成員而采用作用域的方式進(jìn)行區(qū)分
如:A,B表示兩個類,在A,B中都有成員member。那么
A::member就表示類A中的成員member
B::member就表示類B中的成員member
(2)全局作用域符號:當(dāng)全局變量在局部函數(shù)中與其中某個變量重名,那么就可以用::來區(qū)分如:

char zhou; //全局變量 void sleep() 
 
{ 
 
char zhou; //局部變量 char(局部變量) = char(局部變量) *char(局部變量) ; 
 
::char(全局變量) =::char(全局變量) *char(局部變量); 
 
}

(3)::是C++里的“作用域分解運算符”。比如聲明了一個類A,類A里聲明了一個成員函數(shù)voidf(),但沒有在類的聲明里給出f的定義,那么在類外定義f時,就要寫成voidA::f(),表示這個f()函數(shù)是類A的成員函數(shù)。例如:

class CA {    

public:    

  int ca_var;    

  int add(int a, int b);    

  int add(int a);    

};   

//那么在實現(xiàn)這個函數(shù)時,必須這樣書寫:    

int CA::add(int a, int b)    

{    

  return a + b;    

}    

//另外,雙冒號也常常用于在類變量內(nèi)部作為當(dāng)前類實例的元素進(jìn)行表示,比如:    

int CA::add(int a)    

{    

  return a + ::ca_var;    

}   
   
//表示當(dāng)前類實例中的變量ca_var。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.有以下程序段 若要求使p指向一個int型的動態(tài)存儲單元,在橫線處應(yīng)填入的是?答:( int * ) 解析:m...
    LioveM閱讀 691評論 0 0
  • Android Studio 編譯原生庫的默認(rèn)編譯工具是 CMake。由于很多現(xiàn)有項目都使用 ndk-build ...
    萍水相逢_程序員閱讀 1,634評論 0 0
  • 1.List,Set,Map都繼承自繼承Collection接口? 答:List,Set等集合對象都繼承自Coll...
    LioveM閱讀 467評論 0 0
  • 1.constructor構(gòu)造函數(shù) 構(gòu)造函數(shù)名稱=類名。構(gòu)造函數(shù)的作用:初始化對象的數(shù)據(jù)成員。 1.1 構(gòu)造函數(shù)的...
    hui1429閱讀 559評論 0 0
  • 1.constructor構(gòu)造函數(shù) 構(gòu)造函數(shù)名稱=類名。構(gòu)造函數(shù)的作用:初始化對象的數(shù)據(jù)成員。 1.1 構(gòu)造函數(shù)的...
    hui1429閱讀 441評論 0 0

友情鏈接更多精彩內(nèi)容