1樓:加百列
表示作用域,和所屬關係。
比如乙個a類:
存在乙個函式test是屬於a的,如下:
關於::的具體解析:
::是運算子中等級最高的,它分為三種:
1)global scope(全域性作用域符),用法(::name)。
2)class scope(類作用域符),用法(class::name)。
3)namespace scope(命名空間作用域符),用法(namespace::name)。
都是左關聯(left-associativity),作用都是為了更明確的呼叫想要的變數。
如在程式中的某一處想呼叫全域性變數a,那麼就寫成::a,如果想呼叫class a中的成員變數a,那麼就寫成a::a,另外乙個如果想呼叫namespace std中的cout成員,就寫成std::
cout意思是在這裡想用cout物件是命名空間std中的cout。
2樓:香料魔法
1、類作用域操作符
「::」指明了成員函式所屬的類,例如:m::f(s)就表示f(s)是類m的成員函式。
2、表示「域操作符」
例如:宣告了乙個類a,類a裡宣告了乙個成員函式void f( ),但沒有在類的宣告裡給出f的定義,那麼在類外定義f時, 就要寫成void a::f( ),表示這個f( )函式是類a的成員函式。
3、表示引用成員函式及變數,作用域成員運算子。
比:system::math::sqrt( ) 相當於system.math.sqrt( )
擴充套件資料
c++中的::的作用
1、作用域限定符,當在類體中直接定義函式時,不需要在函式名字前加上類名,但在類體外實現函式定義的時候,必須加上類名並且加上作用域限定符。student::display( );
2、靜態資料成員既可以通過物件名引用,也可以通過類名加::來引用。
例如:class test
test::a;
3、靜態成員函式,也是既可以通過物件名引用,也可以通過類名+::引用。
4、引用在類中定義的 typedef新型別。
例如:class myclass
3樓:小肥仔
::是運算子中等級最高的,它有三種含義:
1)global scope(全域性作用域符),用法(::name)
int a;
void test ()
2)class scope(類作用域符),用法(class::name)
class a
int a::test()//表示test是屬於a的
3)namespace scope(命名空間作用域符),用法(namespace::name)
std::cout<<"test"<
擴充套件資料:
c++語言特點
支援資料封裝和資料隱藏
在c++中,類是支援資料封裝的工具,物件則是資料封裝的實現。c++通過建立使用者定義類支援資料封裝和資料隱藏。
在物件導向的程式設計中,將資料和對該資料進行合法操作的函式封裝在一起作為乙個類的定義。物件被說明為具有乙個給定類的變數。每個給定類的物件包含這個類所規定的若干私有成員、公有成員及保護成員。
完好定義的類一旦建立,就可看成完全封裝的實體,可以作為乙個整體單元使用。類的實際內部工作隱藏起來,使用完好定義的類的使用者不需要知道類是如何工作的,只要知道如何使用它即可。
支援繼承和重用
在c++現有類的基礎上可以宣告新型別,這就是繼承和重用的思想。通過繼承和重用可以更有效地組織程式結構,明確類間關係,並且充分利用已有的類來完成更複雜、深入的開發。新定義的類為子類,成為派生類。
它可以從父類那裡繼承所有非私有的屬性和方法,作為自己的成員。
支援多型性
採用多型性為每個類指定表現行為。多型性形成由父類和它們的子類組成的乙個樹型結構。在這個樹中的每個子類可以接收乙個或多個具有相同名字的訊息。
當乙個訊息被這個樹中乙個類的乙個物件接收時,這個物件動態地決定給予子類物件的訊息的某種用法。多型性的這一特性允許使用高階抽象。
繼承性和多型性的組合,可以輕易地生成一系列雖然類似但獨一無二的物件。由於繼承性,這些物件共享許多相似的特徵。由於多型性,乙個物件可有獨特的表現方式,而另乙個物件有另一種表現方式。
4樓:匿名使用者
表示作用域,和所屬關係
比如class a
int a::test()//表示test是屬於a的類似的還有其他,就不列舉了
--------------------
比如int a;
void test ()
5樓:凌瀅瀅花世
雙冒號::
操作符被稱為域操作符(scope
operator),含義和用法如下:
1.在類外部宣告成員函式。void
point::area(){};
2.呼叫全域性函式;表示引用成員函式變數及作用域,作用域成員運算子例:system::math::sqrt()相當於system.math.sqrt()。
3.呼叫類的靜態方法:
如:cdisplay::display()。
把域看作是乙個可視視窗全域性域的物件在它被定義的整個檔案裡,一直到檔案末尾都是可見的。在乙個函式內被定義的物件是局域的(local
scope),
它只在定義其的函式體內可見。每個類維持乙個域,在這個域之外,它的成員是不可見的。類域操作符告訴編譯器後面的識別符號可在該類的範圍內被找到。
6樓:匿名使用者
::是運算子中等級最高的,它分為三種:
1)global scope(全域性作用域符),用法(::name)
2)class scope(類作用域符),用法(class::name)
3)namespace scope(命名空間作用域符),用法(namespace::name)
他們都是左關聯(left-associativity)
他們的作用都是為了更明確的呼叫你想要的變數,如在程式中的某一處你想呼叫全域性變數a,那麼就寫成::a,如果想呼叫class a中的成員變數a,那麼就寫成a::a,另外乙個如果想呼叫namespace std中的cout成員,你就寫成std::
cout(相當於using namespace
std;cout)意思是在這裡我想用cout物件是命名空間std中的cout(即就是標準庫裡邊的cout)
他們算是c++中的基礎,如果運用的好的話,你程式的出錯率也許會降很多,o~~~~~~~~~
7樓:阿元兆奇正
標識作用域,如果std::,表示使用std命名空間的物件,::表示使用全域性物件。
8樓:逍遙公蟲
表示後面的函式是api函式,非所在類的成員函式
c++中::是什麼意思?
9樓:會飛的小兔子
是類作用域
操作符「::」指明了成員函式所屬的類。表示引用成員函式及變數,作用域成員運算子。
在不同作用域內宣告的變數可以同名,但如果區域性變數和全域性變數同名,在區域性變數作用域內如何訪問全域性變數。
例如:宣告了乙個類a,類a裡宣告了乙個成員函式void f( ),但沒有在類的宣告裡給出f的定義,那麼在類外定義f時, 就要寫成void a::f( ),表示這個f( )函式是類a的成員函式。
擴充套件資料
c++基本算術運算子
基本算術運算子有:+(加)、-(減或負號)、*(乘)、/(除)、%(取餘)。其中「-」作為負號時為一元運算子,其餘都為二元運算子。
這些基本算術運算子的意義與數學中相應符號的意義是一致的。
1、%」是取餘運算,只能用於整型運算元。表示式a%b的結果為a/b的餘數。 「%」的優先順序與「/」相同。
2、當「/」用於兩整型運算元相除時,其結果取商的整數部分,小數部分被自動捨棄。因此,表示式1/2的結果為0,這一點需要特別注意。
10樓:加百列
"::"在c++中表示作用域,和所屬關係。"::"是運算子中等級最高的,它分為三種,分別如下:
一、作用域符號:
作用域符號」::「的前面一般是類名稱,後面一般是該類的成員名稱,c++為例避免不同的類有名稱相同的成員而採用作用域的方式進行區分。
例如:a,b表示兩個類,在a,b中都有成員member。
那麼:1、a::member就表示類a中的成員member。
2、b::member就表示類b中的成員member。
二、全域性作用域符號:
全域性作用域符號:當全域性變數在區域性函式中與其中某個變數重名,那麼就可以用::來區分,例如:
三、作用域分解運算子:
::是c++裡的作用域分解運算子,「比如宣告了乙個類a,類a裡宣告了乙個成員函式voidf(),但沒有在類的宣告裡給出f的定義,那麼在類外定義f時,就要寫成voida::f(),表示這個f()函式是類a的成員函式。
例如:擴充套件資料:
c++的運算子(運算子是一種告訴編譯器執行特定的數學或邏輯操作的符號。c++ 內建了豐富的運算子)具體以下:
1、算術運算子。
2、關係運算子。
3、邏輯運算子。
4、位運算子。
5、賦值運算子。
11樓:匿名使用者
表示作用域,和所屬關係
::是運算子中等級最高的,它分為三種:
1)global scope(全域性作用域符),
用法(::name)
2)class scope(類作用域符),用法(class::name)
class a
int a::test()//表示test是屬於a的
3)namespace scope(命名空間作用域符),用法(namespace::name)
他們都是左關聯(left-associativity)
他們的作用都是為了更明確的呼叫你想要的變數,如在程式中的某一處你想呼叫全域性變數a,那麼就寫成::a,如果想呼叫class a中的成員變數a,那麼就寫成a::a,另外乙個如果想呼叫namespace std中的cout成員,你就寫成std::
cout(相當於using namespace
std;cout)意思是在這裡我想用cout物件是命名空間std中的cout(即就是標準庫裡邊的cout)
12樓:█重量佳壽
作用域操作符,用來劃分名字的所在區間,它是為了解決名稱衝突而設計的,比如a公司和b公司可能同有乙個庫有函式名為***();如果c公司同時使用這兩個庫,則會發生名字衝突,用命名空間的話,a、b公司分別把該函式放在各自定義的命名空間裡,就能避免衝突,加入命名空間就是公司名,就可以分別呼叫a::***()和b::***()。
類層次和函式也能夠成命名空間。
c是什麼意思,在c 中 什麼意思
就是模運算,就是取餘 餘數 就是除號,int整數運算,就是取整數 四捨五入 物件導向就是所有的操作都是基於物件的,所關注的是物件,我想知道textbox裡的內容 這個操作,直接找textbox物件的text屬性就可以了。敢問你對物件這個概念有怎樣的理解,物件導向的重點是物件,而不是面向,如果你想知道...
在c中是什麼意思c中是什麼意思,如何使用
這個符號在c 中是指標呼叫的意思。舉個例子 有乙個phone類 手機 該類有乙個成員函式sendmessage 用於發短訊息,通常你要呼叫這個函式,可以先定義乙個phone類的指標 phone,利用這個指標就可以呼叫該函式了 phone sendmessage 通過類指標呼叫類中public的函式成...
在C中xdoublei是什麼意思
意思是 bai將變數 i 強制轉du換為double型別,再賦值給變數x。zhic 中的型別強制轉換和daoc有區別。c版本 版 x double i c 版本 x double i c 的思想是,權像函式呼叫一樣使用強制轉換.但是,一般人們將他們都使用c 版本,即便是在寫c i本身是unsigne...