国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 幫助中心 > 正文

c++ 類和對象總結

2024-07-09 22:43:19
字體:
來源:轉載
供稿:網友

話不多說,我們直接進入主題:
對象:客觀世界里的一切事物都可以看作是一個對象,每一個對象應當具有屬性(靜態特征,比如一個班級,一個專業,一個教室)和行為(動態特征,例如:學習,開會,體育比賽等)兩個要素。 對象是由一組屬性和一組行為構成的。
類(class):就是對象的類型,代表了某一批對象的共同特性和特征。類是對象的抽象,而對象是類的具體實例。

2.1 類的引入

在C語言中我們定義一個結構體是這樣定義的:

struct Student{  int _age;  char* _Gender;  char* _Name;};int main(){  struct S;  return 0;}

我們都知道,在C中,“數據”和“處理數據的操作(函數)”是分開的,語言本身并沒有支持“數據和函數”之間的關聯性。那么,如果我們要在某種特定情況下讓數據和函數有一定的關聯,這個時候我們應該怎么處理呢?
先看一個例子:

這里寫圖片描述 

很明顯,編譯器報錯了,還很多。也就是說在C語言當中是不允許在結構體中定義函數的,那么在C++中是不是也是這樣呢?

這里寫圖片描述 

通過對比,我們明顯的發現C++是可以做到我們想要將數據和函數產生一定關系的操作的。
為了區別C語言中結構體的定義struct,在C++中我們常用class來代替struct。

2.2 類的定義

#include <iostream>using namespace std;class Student{public:  char* _name;private:  char* _Gender;  int _age;};int main(){  class S;  return 0;}

class是C++中定義類的關鍵字,Student為類的名字,{}中為類的主體,和結構體類似,在{}后面跟的是;。類中的元素稱為類的成員,類中的數據稱為類的屬性或者類的成員變量,類中的函數稱為類的成員函數。

類的定義通常有兩種方式:

1、將類的聲明和定義都放在類體中za
2、將類的聲明放在.h頭文件中,定義放在.cpp文件中

在代碼中我們看到了private 和 public兩個沒有見過的東西,接下來我們講一講C++的三大特性:繼承 封裝 多態
封裝:隱藏對象的屬性和現實細節,僅對外公開接口和對象進行交互,將數據和操作數據的方法有機結合。

這里的public 和 private是C++中的訪問限定符,訪問限定符有三個:public (公有) protected(保護) private(私有)。在下面的博文中我們會用到這些限定符,具體情況后續文章再作介紹,這里讀者只需了解就可。

這里做一些說明:

1、public成員在類外可以直接訪問
2、protected和private成員在類外不能夠直接訪問,在這里我們簡單的把他們看成一樣的。(二者區別就是基類private成員在派生類中是不能被訪問的,如果基類成員不想再類外被訪問,但需要在派生類中能訪問,就定義為protected,后面博文更到派生類時我們會再來把這兩個東西拿出來再講一講)
3、他們的作用域從該訪問限定符出現的位置開始直到下一個訪問限定符出現截止
4、class的默認訪問權限是private,而struct默認訪問權限是public(因為struct要兼容C的特點)

那么我們如何在類外訪問一個類中的私有成員變量呢?(面試題)

方法一:在類中添加一個共有的方法

這里寫圖片描述 

我們可以看到在public中定義的公有函數可以在類外訪問私有成員變量,這是訪問的一種方法。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高尔夫| 昌乐县| 夏津县| 元朗区| 冷水江市| 牡丹江市| 贵港市| 乌恰县| 安溪县| 石阡县| 鄂托克前旗| 鹤岗市| 尚志市| 鄂托克前旗| 泸水县| 绵阳市| 高青县| 鄂伦春自治旗| 德格县| 瑞昌市| 沂水县| 印江| 垦利县| 邛崃市| 沧州市| 衡阳市| 台江县| 积石山| 宁武县| 凤城市| 洪泽县| 桓仁| 辽源市| 九寨沟县| 赤城县| 聊城市| 泗阳县| 阿合奇县| 九龙县| 鄂尔多斯市| 九寨沟县|