国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

類的認識及使用

alexnevsky / 1873人閱讀

摘要:注意空類的大小,空類比較特殊,編譯器給了空類一個字節來唯一標識這個類。如果一個類沒有對象,那么它的對象需要給進行占位,標識對象存在,這不存儲有效數據。

類的使用

引用

C++兼容C結構體的語法
C++中的struct已經不僅僅是結構體,struct已經同時升級成類。

類的定義

class className{ // 類體:由成員函數和成員變量組成 }; // 一定要注意后面的分號

class為定義類的關鍵字,ClassName為類的名字,{}中為類的主體,注意類定義結束時后面分號。
類中的元素稱為類的成員:類中的數據稱為類的屬性或者成員變量; 類中的函數稱為類的方法或者成員函數。
struct可以定義類,但在C++中更喜歡用class來代替

C語言面向過程——數據和方法是分離的
C++面向對象——數據和方法是封裝在一起的

struct和class的區別


總結:

  • C++實現封裝的方式:用類將對象的屬性與方法結合在一塊,讓對象更加完善,通過訪問權限選擇性的將其接口提供給外部的用戶使用。
  • 訪問限定符:public(公有)、protected(保護)、private(私有)
  • public修飾的成員在類外可以直接被訪問
  • protected和private修飾的成員在類外不能直接被訪問(此處protected和private是類似的)
  • 訪問權限作用域從該訪問限定符出現的位置開始直到下一個訪問限定符出現時為止
  • class的默認訪問權限為private,struct為public(因為struct要兼容C)

上方代碼改正:

class stack{public:   //公有(可在類外面直接訪問)	void StackInit()	{	}	void StackPush(int x)	{	}private:    //私有(不可在類外面直接訪問)	int* a;	int top;	int capacity;};int main(){	stack st;	st.StackInit();	st.StackPush(1);	return 0;}

封裝


總結:

  • 類的定義和設計就體現了封裝
  • 面向對象的三大特性:封裝繼承多態(最為出名的)、抽象、反射(Java)。
  • 封裝:將數據和操作數據的方法進行有機結合,隱藏對象的屬性和實現細節,僅對外公開接口來和對象進行交互。
  • 封裝本質是一種管理。

類的作用域

改正:將Queue.cpp文件

#define _CRT_SECURE_NO_WARNINGS 1#include"Queue.h"void Queue::QueueInit()// 這里需要指定QueueInit是屬于Queue這個類域{}void Queue::QueuePush(int x){}void Queue::QueuePop(){}

總結:

  • 類中的成員函數在聲明和定義分離時需要使用 :: 作用域解析符指明成員屬于哪個類域。
  • 短小的成員函數,直接在類里面定義,直接被看成內聯函數inline
  • 長的函數,聲明和定義分離

類的實例化


總結:

  • 用類類型創建對象的過程,稱為類的實例化
  • 類只是一個模型一樣的東西,限定了類有哪些成員,定義出一個類并沒有分配實際的內存空間來存儲它
  • 一個類可以實例化出多個對象,實例化出的對象 占用實際的物理空間,存儲類成員變量


類實例化出對象就像現實中使用建筑設計圖建造出房子,類就像是設計圖,只設計出需要什么東西,但是并沒有實體的建筑存在,同樣類也只是一個設計,實例化出的對象才能實際存儲數據,占用物理空間。

計算類對象的大小

知識點:

  • 計算類型大小或者是類對象,只考慮成員變量,因為對象中,只存了成員變量,沒有存成員函數
  • 對于類對象:只保存成員變量,成員函數存放在公共的代碼段。
  • 一個類的大小,實際就是該類中”成員變量”之和,當然也要進行內存對齊。
  • 注意空類的大小,空類比較特殊,編譯器給了空類一個字節來唯一標識這個類。
  • 如果一個類沒有對象,那么它的對象需要給1byte進行占位,標識對象存在這1byte不存儲有效數據

結構體內存對齊規則:

https://blog.csdn.net/AI_ELF/article/details/117877990?spm=1001.2014.3001.5501

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/122187.html

相關文章

  • 【C++】初識類和對象

    摘要:三類的定義類體由成員函數和成員變量組成一定要注意后面的分號為定義類的關鍵字,為類的名字,中為類的主體,注意類定義結束時后面分號。在類和對象階段,我們研究類的封裝特性。 ...

    garfileo 評論0 收藏0
  • Java開發

    摘要:大多數待遇豐厚的開發職位都要求開發者精通多線程技術并且有豐富的程序開發調試優化經驗,所以線程相關的問題在面試中經常會被提到。將對象編碼為字節流稱之為序列化,反之將字節流重建成對象稱之為反序列化。 JVM 內存溢出實例 - 實戰 JVM(二) 介紹 JVM 內存溢出產生情況分析 Java - 注解詳解 詳細介紹 Java 注解的使用,有利于學習編譯時注解 Java 程序員快速上手 Kot...

    LuDongWei 評論0 收藏0
  • 認識構造函數

    摘要:創建構造函數對象有屬性和方法,如果多個函數的屬性和方法均相似,我們就可以將其歸為一個類,使用的時候,就可以直接調用。要設置專屬屬性和方法,很簡單,直接在構造函數內添加就行了創建專屬屬性創建專屬方法 構造函數 使自己的對象多次復制,同時實例根據設置的訪問等級可以訪問其內部的屬性和方法 當對象被實例化后,構造函數會立即執行它所包含的任何代碼 一般我們創建一個對象,最直接的方法就是var o...

    mushang 評論0 收藏0
  • [零基礎學python]關于類的初步認識

    摘要:反對者在某些領域對此予以否認。下面再引用一段來自維基百科中關于的歷史。類的更嚴格的定義是由某種特定的元數據所組成的內聚的包。類還可以有運行時表示形式元對象,它為操作與類相關的元數據提供了運行時支持。 在開始部分,請看官非常非常耐心地閱讀下面幾個枯燥的術語解釋,本來這不符合本教程的風格,但是,請看官諒解,因為列位將來一定要閱讀枯燥的東西的。這些枯燥的屬于解釋,均來自維基百科。 1、問題...

    王巖威 評論0 收藏0

發表評論

0條評論

alexnevsky

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<