五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

二、類與對象

2022-11-04 18:13 作者:愛玩UE5的小哥哥  | 我要投稿

一.類的定義

為了以后的筆記方便就把.h文件與.cpp文件合并。

1.訪問權(quán)限:能不能訪問該類中的成員

①Public

②Protected?

③Private

聲明:

在類的內(nèi)部(定義類的代碼內(nèi)部),無論成員被聲明為 public、protected 還是 private,都是可以互相訪問的,沒有訪問權(quán)限的限制。

在類的外部(定義類的代碼之外),只能通過對象訪問成員,并且通過對象只能訪問 public 屬性的成員,不能訪問?private、protected 屬性的成員。

2.成員變量(屬性)

3.成員函數(shù)(方法)

①構(gòu)造函數(shù)

構(gòu)造函數(shù)的調(diào)用是強(qiáng)制性的,一旦在類中定義了構(gòu)造函數(shù),那么創(chuàng)建對象時就一定要調(diào)用,不調(diào)用是錯誤的。如果有多個重載的構(gòu)造函數(shù),那么創(chuàng)建對象時提供的實參必須和其中的一個構(gòu)造函數(shù)匹配;反過來說,創(chuàng)建對象時只有一個構(gòu)造函數(shù)會被調(diào)用。

作用:對成員變量進(jìn)行初始化

a.默認(rèn)構(gòu)造函數(shù)

程序中自己不定義構(gòu)造函數(shù),那必然有一個默認(rèn)的構(gòu)造函數(shù)將對成員變量進(jìn)行初始化

b.程序員定義的構(gòu)造函數(shù)(無參、有參)

驗證了創(chuàng)建對象時調(diào)用構(gòu)造函數(shù)

c.構(gòu)造函數(shù)的重載:在創(chuàng)建對象時根據(jù)傳遞的實參來判斷調(diào)用哪一個構(gòu)造函數(shù)。

②普通成員函數(shù)

二.對象的創(chuàng)建及訪問類中的成員

創(chuàng)建對象時就一定要調(diào)用構(gòu)造函數(shù),不調(diào)用是錯誤的。

1.普通對象

格式:類 對象名;

例:Date a;

2.指針對象

①在棧上創(chuàng)建對象

創(chuàng)建的對象在棧上分配內(nèi)存,需要使用&獲取它的地址

類 對象名;

類 *指針名 = &對象;

例:Date a;

? ? ? ?Date *p = &a;

②在堆上創(chuàng)建動態(tài)對象

使用 new 在堆上創(chuàng)建出來的對象是匿名的,沒法直接使用,必須要用一個指針指向它,再借助指針來訪問它的成員變量或成員函數(shù)。

類?*指針名 = new 類;

Date *p = new Date;

3.對象數(shù)組

用構(gòu)造函數(shù)對象數(shù)組中的每個元素進(jìn)行初始化。具體哪些元素用哪些構(gòu)造函數(shù)初始化,取決于定義數(shù)組時的寫法;(也可以這么理解:對象數(shù)組的初始化通常也是由構(gòu)造函數(shù)來完成的)

① 類 對象數(shù)組名[數(shù)組元素個數(shù)];

例:Date a[2] = {Date(),Date()};

與普通數(shù)組的表現(xiàn)形式一致(int a[2] = {1,8})

②Date *p[3] = {new Date(),new Date(1),new Date(55,88)}

指針數(shù)組分別指向三個new出來的對象

4.對象引用

類 對象名;

類 & 引用名 = 對象;

例:Date a;

? ? ? ?Date & r = a;

三.類成員的修飾符

1.const修飾符

①const修飾類的成員變量

不能在類里直接初始化const成員變量,const成員變量屬于某個對象,不同對象const數(shù)據(jù)成員的值可能不同

const修飾類成員變量只能在類的構(gòu)造函數(shù)的初始化列表中進(jìn)行初始化

②const修飾類的成員函數(shù)

const 成員函數(shù)可以使用類中的所有成員變量,但是不能修改它們的值,這種措施主要還是為了保護(hù)數(shù)據(jù)而設(shè)置的。

③const修飾對象

const 可以用來修飾對象,稱為常對象。一旦將對象定義為常對象之后,就只能調(diào)用類的 const 成員(包括 const 成員變量和 const 成員函數(shù))了。

語法

定義常對象的語法和定義常量的語法類似:const? class ?object(params);

可以定義 const?指針:const class *p = new class(params);

class為類名,object為對象名,params為實參列表,p為指針名。兩種方式定義出來的對象都是常對象。

2.static修飾符

static可以修飾類中的成員變量(屬性)與成員函數(shù)(方法);可以實現(xiàn)同一類對象之間的數(shù)據(jù)共享,static修飾過的成員屬于類,不屬于某個具體的對象。

①static修飾成員變量(統(tǒng)計案例典型)

聲明? ?static 變量名? 例:static int count;

初始化? 必須在類體外部

? 對象的類::變量名 = xxx;? 例:?int student::count = 10;

②static修飾成員函數(shù)

在C++中,靜態(tài)成員函數(shù)的主要目的是訪問靜態(tài)成員。getTotal()、getPoints() 當(dāng)然也可以聲明為普通成員函數(shù),但是它們都只對靜態(tài)成員進(jìn)行操作,加上 static 語義更加明確。

四.對象成員

一個類的對象是另一個類的成員變量;

類名::構(gòu)造函數(shù)名(參數(shù)表): 成員變量1(參數(shù)表), 成員變量2(參數(shù)表), ...
{
? ? //TODO:
}

對于基本類型的成員變量,“參數(shù)表”中只有一個值,就是初始值,在調(diào)用構(gòu)造函數(shù)時,會把這個初始值直接賦給成員變量。
但是對于成員對象,“參數(shù)表”中存放的是構(gòu)造函數(shù)的參數(shù),它可能是一個值,也可能是多個值,它指明了該成員對象如何被初始化。


二、類與對象的評論 (共 條)

分享到微博請遵守國家法律
惠来县| 临武县| 临湘市| 吉隆县| 浪卡子县| 晋江市| 勐海县| 克什克腾旗| 东源县| 渭南市| 客服| 奉贤区| 美姑县| 碌曲县| 崇礼县| 南城县| 毕节市| 志丹县| 芷江| 赞皇县| 仙居县| 阳信县| 平南县| 叙永县| 丹寨县| 东兰县| 灌阳县| 桐柏县| 北流市| 梓潼县| 蓝山县| 灵宝市| 东台市| 潞城市| 抚宁县| 包头市| 噶尔县| 晴隆县| 广昌县| 郑州市| 九江县|