成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析C++類訪問控制問題

開發 后端
如果對象是C++類的實例化,那么如何正確的進行數據成員初始化?內存映像中每個對象僅僅保留屬于自己的那份數據成員副本。

在介紹C++類之前,首先要了解下什么是C++類?其實C++類是將數據成員和進行于其上的一系列操作封裝在一起,注意:成員函數可以操作數據成員,友元函數包括兩種:設為友元的全局函數,設為友元C++類中的成員函數。

而成員函數對于整個C++類而言卻是共享的,即一個C++類只保留一份成員函數。那么每個對象怎樣和這些可以認為是“分離”的成員函數發生聯系,即成員函數如何操作對象的數據成員?

記住this指針,無論對象通過(.)操作或者 (->)操作調用成員函數,編譯時刻,編譯器都會將這種調用轉換成我們常見的全局函數的形式,并且多出一個參數(一般這個參數放在***個),然后將 this指針傳入這個參數。于是就完成了對象與成員函數的綁定(或聯系)。

實例化后就得到同一個C++類的多個不同的對象,既然成員函數共享的,那么成員函數就可以操作對象的數據成員。
問題是現在有多個對象,成員函數需要知道操作的是哪個對象的數據成員?#t#

比如有對象obj1和obj2,都屬于AC++,AC++類有public成員函數foo()如果obj1調用該函數,編譯時會給foo函數傳入this指針,obj1,foo中操作obj1自身的成員就不用任何修飾,直接訪問,因為其中的數據成員自動根據this指針找到。

如果obj1調用該函數,同樣可以訪問同C++類的其他對象的數據成員!那么你需要做的是讓foo函數知道是同C++類對象中哪個對象的數據成員,一個解決辦法是傳入同C++類其他對象的指針或引用,那么就可以操作同C++類其他對象的數據成員。

 


public: protected: private:
public繼承 public protected ---
protected繼承 protected protected ---
private繼承 private private ---

通俗的講,同C++類的對象間可以“互相訪問”對方的數據成員,只不過訪問途徑不是直接訪問.步驟是:通過一個對象調用其public成員函數,此成員函數可以訪問到自己的或者同C++類其他對象的public/private/protected數據成員和成員函數(C++類的所有對象共用)。

而且還需要指明是哪個對象的數據成員(調用函數的對象自己的成員不用指明,因為有this指針;其他對象的數據成員可以通過引用或指針間接指明)

C++中public,protected,private訪問小結***:private,public,protected方法的訪問范圍.(public繼承下)private: 只能由該C++類中的函數、其友元函數訪問,不能被任何其他訪問,該C++類的對象也不能訪問。

protected: 可以被該C++類中的函數、子C++類的函數、以及其友元函數訪問,但不能被該C++類的對象訪問 public: 可以被該C++類中的函數、子C++類的函數、其友元函數訪問,也可以由該C++類的對象訪問注:友元函數包括兩種:設為友元的全局函數,設為友元C++類中的成員函數。

第二:C++類的繼承后方法屬性變化: 使用private繼承,父C++類的所有方法在子C++類中變為private; 使用protected繼承,父C++類的protected和public方法在子C++類中變為protected,private方法不變; 使用public繼承,父C++類中的方法屬性不發生改變;

責任編輯:chenqingxiang 來源: 天極網
相關推薦

2010-01-21 13:48:30

C++基類

2010-01-21 16:18:06

C++語言

2010-01-25 14:18:46

C++對象模型

2010-01-27 15:05:04

C++標準化

2010-01-18 10:01:48

C++中訪問控制

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2010-02-02 14:55:35

C++訪問控制符

2010-01-20 10:19:55

C++數組

2010-01-27 17:16:52

C++構造函數

2010-01-26 14:35:11

C++關鍵字

2021-10-19 14:04:28

C++類型數字

2010-01-14 17:13:53

C++接口

2010-02-06 17:39:52

C++ strtok

2010-01-27 15:46:15

學習C++效率

2010-02-03 16:56:20

C++自定義類

2009-08-21 17:24:06

C# SingleIn

2009-08-28 16:51:32

C#線程控制

2009-08-21 17:24:06

C# SingleIn

2009-08-06 14:43:10

C# Calculat
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美黄在线观看 | 精品久久一区 | 亚洲国产精品99久久久久久久久 | 久久久国产视频 | 久久黄网 | 91精品国产乱码久久久久久久久 | 日本黄色免费大片 | 欧美视频二区 | 三级黄色片在线观看 | 亚洲成年人免费网站 | 久久伊人一区 | 久久国产精品精品 | 夜夜草 | 久久精品中文字幕 | 成人av影院| 颜色网站在线观看 | 久久精品成人 | 欧美群妇大交群中文字幕 | 日韩电影一区 | 日韩免费高清视频 | 中文字幕av网站 | 91久久国产综合久久 | 精品国产一级 | 成人小视频在线观看 | 国产精品极品美女在线观看免费 | av在线成人 | 久久综合国产 | 国产精品久久久久久久久大全 | 亚洲成人一级片 | 欧美在线a | 日本在线视频中文字幕 | 欧美亚洲国产一区二区三区 | 精品视频免费 | 九九色综合 | 欧美区日韩区 | 丁香六月激情 | 欧区一欧区二欧区三免费 | 韩国欧洲一级毛片 | 亚洲成av人片在线观看无码 | 天天澡天天操 | 涩涩操|