欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

虛函數和c語言指針 虛函數指針存在類的哪個位置

如何用C語言實現面向對象

可以通過以下方法實現面向對象:

創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網站建設、網站重做改版、南岔網站定制設計、自適應品牌網站建設、html5、商城網站開發(fā)、集團公司官網建設、外貿網站建設、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為南岔等各大城市提供網站開發(fā)制作服務。

1、封裝

封裝就是把數據和方法打包到一個類里面。其實C語言編程者應該都已經接觸過了,C 標準庫 中的 fopen(), fclose(), fread(), fwrite()等函數的操作對象就是 FILE。

數據內容就是 FILE,數據的讀寫操作就是 fread()、fwrite(),fopen() 類比于構造函數,fclose() 就是析構函數。

2、繼承

繼承就是基于現有的一個類去定義一個新類,這樣有助于重用代碼,更好的組織代碼。在 C 語言里面,去實現單繼承也非常簡單,只要把基類放到繼承類的第一個數據成員的位置就行了。

例如,我們現在要創(chuàng)建一個 Rectangle 類,我們只要繼承 Shape 類已經存在的屬性和操作,再添加不同于 Shape 的屬性和操作到 Rectangle 中。

3、多態(tài) C++

語言實現多態(tài)就是使用虛函數。在 C 語言里面,也可以實現多態(tài)。 現在,我們又要增加一個圓形,并且在 Shape 要擴展功能,我們要增加 area() 和 draw() 函數。

但是 Shape 相當于抽象類,不知道怎么去計算自己的面積,更不知道怎么去畫出來自己。而且,矩形和圓形的面積計算方式和幾何圖像也是不一樣的。

4、虛表和虛指針

虛表(Virtual Table)是這個類所有虛函數的函數指針的集合。

虛指針(Virtual Pointer)是一個指向虛表的指針。這個虛指針必須存在于每個對象實例中,會被所有子類繼承。

5、在構造函數中設置vptr

在每一個對象實例中,vptr 必須被初棗唯派始化山畝指向其 vtbl。最好的初始化位置就是在類的構造函數中。

事實上,在構造函數中,C++ 編譯器隱式的創(chuàng)建了一個初始化的vptr。在 C 語言里面, 我們必須顯示的初始化vptr。下面就展示一下,在 Shape 的構造函數里面,如何去初始化這個 vptr。凳賀

當前名稱:虛函數和c語言指針 虛函數指針存在類的哪個位置
文章URL:http://chinadenli.net/article8/dciocop.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站維護、云服務器網站策劃、外貿建站、建站公司、網站建設

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網站網頁設計