真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++基礎(chǔ)01-類-類與對(duì)象

類與對(duì)象 | C++基礎(chǔ)

C++語(yǔ)言程序設(shè)計(jì)網(wǎng)課

公司主營(yíng)業(yè)務(wù):網(wǎng)站制作、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出義馬免費(fèi)做網(wǎng)站回饋大家。

C++中支持我們使用類來(lái)定義自己的數(shù)據(jù)類型。

類的基本思想:數(shù)據(jù)抽象(data abstraction) 與 封裝(encapsulation)。

  1. 數(shù)據(jù)抽象:依賴于 接口(interface) 和 實(shí)現(xiàn)(implementation) 分離的編程(及設(shè)計(jì))技術(shù)。

    • 類的接口:用戶所能執(zhí)行的操作。

    • 類的實(shí)現(xiàn):類的數(shù)據(jù)成員、負(fù)責(zé)接口實(shí)現(xiàn)的函數(shù)體、定義類所需的各種私有函數(shù)。

  2. 封裝:使類的接口和實(shí)現(xiàn)分離。隱藏了類的實(shí)現(xiàn)細(xì)節(jié)(類的用戶只能使用接口而無(wú)法訪問(wèn)實(shí)現(xiàn)部分)。

抽象

對(duì)同一類對(duì)象的共同屬性和行為進(jìn)行概括,形成類

  • 先注意問(wèn)題本質(zhì),其次是實(shí)現(xiàn)過(guò)程或細(xì)節(jié)
  • 數(shù)據(jù)抽象:描述某對(duì)象的屬性或狀態(tài)(對(duì)象相互區(qū)別的物理量)
  • 代碼抽象:描述某類對(duì)象的共有的行為特征或具有的功能
  • 抽象的實(shí)現(xiàn):
//定義Clock類
class Clock//邊界
{
public://特定的訪問(wèn)權(quán)限
	void setTime(int newH, int newM, int newS);
	void showTime();//外部接口
private://特定的訪問(wèn)權(quán)限
	int hour, minute, second;
};//邊界

封裝

將抽象出的數(shù)據(jù)、代碼封裝在一起,形成類。

  • 目的:增強(qiáng)安全性和簡(jiǎn)化編程,使用者不必了解具體的實(shí)現(xiàn)細(xì)節(jié),而只需要通過(guò)外部接口,以特定的訪問(wèn)權(quán)限來(lái)使用類的成員
  • 實(shí)現(xiàn)封裝:類聲明中的{}

類和對(duì)象的關(guān)系

對(duì)象是現(xiàn)實(shí)中的對(duì)象在程序中的模擬
類是同一類對(duì)象的抽象,對(duì)象是類的某一特定實(shí)體
定義類的對(duì)象,才可以通過(guò)對(duì)象使用類中定義的功能

類定義的語(yǔ)法形式

class Clock//類名稱
{
public:
    //公有成員(外部接口)
private:
    //私有成員
protected:
    //保護(hù)型成員
}

類成員的訪問(wèn)控制

公有類型成員

在關(guān)鍵字public后面聲明,它們是類與外部的接口,任何外部函數(shù)都可以訪問(wèn)公有類型數(shù)據(jù)和函數(shù)

私有類型成員

在關(guān)鍵字private后面聲明,只允許本類中的函數(shù)訪問(wèn),而類外部的任何函數(shù)都不能訪問(wèn)
如果緊跟在類名稱的后面聲明私有成員,則關(guān)鍵字private可以省略

保護(hù)類型成員

與private類似,其差別表現(xiàn)在繼承與派生時(shí)對(duì)派生類的影響不同

對(duì)象定義的語(yǔ)法形式

class Clock {...};
//類名 對(duì)象名
Clock myClock

使用類的成員

類中成員互相訪問(wèn)

直接使用成員名訪問(wèn)

類外訪問(wèn)

使用"對(duì)象名.成員名"方式訪問(wèn)public屬性的成員

實(shí)例

//類的定義
#include 

using namespace std;

class Clock {
public:
	void setTime(int newH = 0, int newM = 0, int newS = 0);
	void showTime();
private:
	int hour, minute, second;
};

//成員函數(shù)的實(shí)現(xiàn)
void Clock::setTime(int newH, int newM, int newS) {
	hour = newH;
	minute = newM;
	second = newS;
}
void Clock::showTime() {
	cout << hour << ":" << minute << ":" << second << endl;
}

//對(duì)象的使用
int main() {
	Clock myClock;
	myClock.setTime(8, 30, 30);
	myClock.showTime();
	return 0;
}

類內(nèi)初始值

可以為數(shù)據(jù)成員提供一個(gè)類內(nèi)初始值
在創(chuàng)建對(duì)象時(shí),類內(nèi)初始值用于初始化數(shù)據(jù)成員
沒有初始值的成員將被默認(rèn)初始化

類的成員函數(shù)

在類中說(shuō)明函數(shù)原型
可以在類外給出函數(shù)體實(shí)現(xiàn),并在函數(shù)名前使用類名加以限定
也可以直接在類中給出函數(shù)體,形成內(nèi)斂成員函數(shù)
允許聲明重載函數(shù)和帶默認(rèn)參數(shù)值的函數(shù)

內(nèi)聯(lián)成員函數(shù)

為了提高運(yùn)行時(shí)效率,對(duì)于較簡(jiǎn)單的函數(shù)可以聲明為內(nèi)聯(lián)形式
內(nèi)斂函數(shù)體中不要有復(fù)雜結(jié)構(gòu)(如循環(huán)語(yǔ)句和switch語(yǔ)句)

在類中聲明內(nèi)聯(lián)成員函數(shù)的方式:

  • 將函數(shù)體放在類的聲明中
  • 使用inline關(guān)鍵字

當(dāng)前文章:C++基礎(chǔ)01-類-類與對(duì)象
網(wǎng)站地址:http://weahome.cn/article/dsoihoj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部