雷火电竞-中国电竞赛事及体育赛事平台

歡迎來(lái)到入門教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

c++中冒號(hào)(:)和雙冒號(hào)(::)的使用說(shuō)明

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊:

(1)表示機(jī)構(gòu)內(nèi)位域的定義(即該變量占幾個(gè)bit空間)

復(fù)制代碼 代碼如下:

typedef struct _XXX{
          unsigned char a:4;
          unsigned char c;
} ; XXX

(2)構(gòu)造函數(shù)后面的冒號(hào)起分割作用,是類給成員變量賦值的方法,初始化列表,更適用于成員變量的常量const型。
復(fù)制代碼 代碼如下:

struct _XXX{
          _XXX() : y(0xc0) {}
};

(3) public:和private:后面的冒號(hào),表示后面定義的所有成員都是公有或私有的,直到下一個(gè)"public:”或"private:”出現(xiàn)為止。"private:"為默認(rèn)處理。
(4)類名冒號(hào)后面的是用來(lái)定義類的繼承。
復(fù)制代碼 代碼如下:

class 派生類名 : 繼承方式 基類名
{
    派生類的成員
};

繼承方式:public、private和protected,默認(rèn)處理是public。
2.雙冒號(hào)(::)用法
(1)表示“域操作符”
例:聲明了一個(gè)類A,類A里聲明了一個(gè)成員函數(shù)void f(),但沒(méi)有在類的聲明里給出f的定義,那么在類外定義f時(shí),
就要寫成void A::f(),表示這個(gè)f()函數(shù)是類A的成員函數(shù)。

(2)直接用在全局函數(shù)前,表示是全局函數(shù)
例:在VC里,你可以在調(diào)用API 函數(shù)里,在API函數(shù)名前加::

(3)表示引用成員函數(shù)及變量,作用域成員運(yùn)算符
例:System::Math::Sqrt() 相當(dāng)于System.Math.Sqrt()

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

:: 一般還有一種用法,就是直接用在全局函數(shù)前,表示是全局函數(shù)。當(dāng)類的成員函數(shù)跟類外的一個(gè)全局函數(shù)同名時(shí),考試,大提示在類內(nèi)定義的時(shí)候,打此函數(shù)名默認(rèn)調(diào)用的是本身的成員函數(shù);如果要調(diào)用同名的全局函數(shù)時(shí),就必須打上::以示區(qū)別。比如在VC里,你可以在調(diào)用API函數(shù)時(shí),在API函數(shù)名前加::。

上一篇:C++基礎(chǔ)之this指針與另一種“多態(tài)”

欄    目:C語(yǔ)言

下一篇:C++用new創(chuàng)建對(duì)象和不用new創(chuàng)建對(duì)象的區(qū)別解析

本文標(biāo)題:c++中冒號(hào)(:)和雙冒號(hào)(::)的使用說(shuō)明

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/4260.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有