日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++基础与面向对象

發(fā)布時(shí)間:2025/3/20 c/c++ 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++基础与面向对象 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

1. 預(yù)處理知識(shí)

預(yù)處理作用如下:
① 包含另一個(gè)文件(通常是頭文件),為了引入需要的代碼。“”是引用非標(biāo)準(zhǔn)庫文件,編譯器將在用戶工作目錄尋找,找不到再去默認(rèn)庫尋找,用于用戶自己定義的頭文件;<>表系統(tǒng)示庫文件。
② 定義符號(hào),起到開關(guān)作用,可以根據(jù)機(jī)器的情況、操作系統(tǒng)的情況及用戶的需求來
決定哪部分代碼有效,例如,如果要在 Win32 的環(huán)境下編程,那么,就定義 Win32 這個(gè)符
號(hào)。
③ 定義宏,簡化常用的數(shù)據(jù),或者簡化復(fù)雜的函數(shù)聲明、定義的過程。

C++是強(qiáng)類型語言,任何變量、函數(shù)都必須先聲明再定義,聲明通常放在單獨(dú)的頭文件中。

在頭文件中聲明類時(shí),注意}后面應(yīng)有分號(hào)!

私有的數(shù)據(jù)成員和函數(shù)并不是只有該類的成員函數(shù)才能訪問到,友元函數(shù)和友
類也能訪問。

2. 類的繼承機(jī)制

C++ 中允許單繼承和多繼承。一個(gè)類可以根據(jù)需要生成派生類。派生類根據(jù)情況繼承了
基類的方法,還可以定義新的方法。一個(gè)子類的每個(gè)對象包含有從父類那里繼承來的數(shù)據(jù)成
員以及自己所特有的數(shù)據(jù)成員。
在 C++ 語言中,派生類可以從一個(gè)基類派生,稱為單繼承;
也可以從多個(gè)基類派生,就是所謂多繼承。
派生類的繼承方式有 “ 公有繼承( public ) ” 、 “ 私有繼承( private ) ” 和 “ 保護(hù)繼
承( protected ) ” 這 3 種常見的方式,此外還有虛繼承這種方式。
這里重點(diǎn)介紹一下公有繼承。
公有繼承的特點(diǎn)是基類的公有成員和保護(hù)成員作為派生類的成員時(shí),它們都保持原有
的狀態(tài),而基類的私有成員仍然是私有的。
⑴ 基類成員對其對象的可見性:公有成員可見,其他不可見。這里保護(hù)成員同于私有
成員;
⑵ 基類成員對派生類的可見性:公有成員和保護(hù)成員可見,而私有成員不可見。這里
保護(hù)成員同于公有成員;
⑶ 基類成員對派生類對象的可見性:公有成員可見,其他成員不可見。

所以,在公有繼承時(shí),派生類的對象可以訪問基類中的公有成員;派生類的成員函數(shù)
可以訪問基類中的公有成員和保護(hù)成員。

3.虛函數(shù)

虛函數(shù)就是人們希望在派生類中被重新定義的函數(shù),注意:用基類的指針指向派生類的對象時(shí),就能調(diào)用該派生類的虛函數(shù)。

需要注意以下幾點(diǎn) :
1. 在基類中聲明一個(gè)成員函數(shù)為虛函數(shù)后,在它的派生類中此成員函數(shù)也是虛函數(shù),
并且不需要在前面加關(guān)鍵字。
2. 當(dāng)指針調(diào)用函數(shù)時(shí),如果調(diào)用的是虛函數(shù),則根據(jù)指針指向的對象訪問函數(shù);如果
調(diào)用的是非虛函數(shù),則指針的類型調(diào)用相應(yīng)的函數(shù);如果虛函數(shù)在派生類中沒有定義,則會(huì)
自動(dòng)調(diào)用基類中的函數(shù)定義。
另外, 虛函數(shù)的使用需要謹(jǐn)慎,因?yàn)樗鼤?huì)增加一些額外的開銷,不過這點(diǎn)開銷不足以
削弱它的強(qiáng)大功能,除非用戶漫無目的濫用它。

此外,可以將一個(gè)虛函數(shù)聲明為一個(gè)純虛函數(shù):
virtual void show()=0;
這么做,等于告訴編譯器在對象中為函數(shù) show 保留一個(gè)間隔,為將來從基類中派生的
函數(shù)占據(jù)一個(gè)位置。純虛函數(shù)有 以下 特點(diǎn):
1. 純虛函數(shù)僅僅是用來為基類的派生類中的函數(shù)保留位置
2. 純虛函數(shù)在基類中沒有定義,它們被初始化為 0
3. 當(dāng)虛函數(shù)變成純虛函數(shù)時(shí),任何派生類都必須給出它自己的定義。否則編譯出錯(cuò)。
在使用中,不能創(chuàng)建一個(gè)帶有純虛函數(shù)的類的對象,但允許聲明含有純虛函數(shù)的類的指針。
在程序中往往會(huì)用到這個(gè)功能。

4. 句柄
Windows 具有很強(qiáng)的面向?qū)ο筇匦浴?Windows 對象有很多,譬如桌面、讀取所使用的程序等等。那么,如何區(qū)分這些東西呢?答案是使用句柄。句柄是引用不同 Windows 對象的方式。可以使用 Windows 的句柄、文件的句柄、分配內(nèi)存的句柄、圖像的句柄等等。系統(tǒng)在創(chuàng)建這些資源時(shí)會(huì)為它們分配內(nèi)存,并返回標(biāo)識(shí)這些資源的標(biāo)識(shí)號(hào),這就是句柄。

實(shí)際上我們也可以將這些句柄看作指針。

轉(zhuǎn)載于:https://my.oschina.net/assange/blog/414347

總結(jié)

以上是生活随笔為你收集整理的C++基础与面向对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。