摘要:注意空類的大小,空類比較特殊,編譯器給了空類一個字節來唯一標識這個類。如果一個類沒有對象,那么它的對象需要給進行占位,標識對象存在,這不存儲有效數據。
C++兼容C結構體的語法
C++中的struct已經不僅僅是結構體,struct已經同時升級成類。
class className{ // 類體:由成員函數和成員變量組成 }; // 一定要注意后面的分號
class為定義類的關鍵字,ClassName為類的名字,{}中為類的主體,注意類定義結束時后面分號。
類中的元素稱為類的成員:類中的數據稱為類的屬性或者成員變量; 類中的函數稱為類的方法或者成員函數。
struct可以定義類,但在C++中更喜歡用class來代替
C語言面向過程——數據和方法是分離的
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;}
總結:
改正:將Queue.cpp文件
#define _CRT_SECURE_NO_WARNINGS 1#include"Queue.h"void Queue::QueueInit()// 這里需要指定QueueInit是屬于Queue這個類域{}void Queue::QueuePush(int x){}void Queue::QueuePop(){}
總結:
總結:
類實例化出對象就像現實中使用建筑設計圖建造出房子,類就像是設計圖,只設計出需要什么東西,但是并沒有實體的建筑存在,同樣類也只是一個設計,實例化出的對象才能實際存儲數據,占用物理空間。
知識點:
結構體內存對齊規則:
https://blog.csdn.net/AI_ELF/article/details/117877990?spm=1001.2014.3001.5501
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/122187.html
摘要:三類的定義類體由成員函數和成員變量組成一定要注意后面的分號為定義類的關鍵字,為類的名字,中為類的主體,注意類定義結束時后面分號。在類和對象階段,我們研究類的封裝特性。 ...
摘要:反對者在某些領域對此予以否認。下面再引用一段來自維基百科中關于的歷史。類的更嚴格的定義是由某種特定的元數據所組成的內聚的包。類還可以有運行時表示形式元對象,它為操作與類相關的元數據提供了運行時支持。 在開始部分,請看官非常非常耐心地閱讀下面幾個枯燥的術語解釋,本來這不符合本教程的風格,但是,請看官諒解,因為列位將來一定要閱讀枯燥的東西的。這些枯燥的屬于解釋,均來自維基百科。 1、問題...
閱讀 637·2021-11-22 15:32
閱讀 2724·2021-11-19 09:40
閱讀 2319·2021-11-17 09:33
閱讀 1276·2021-11-15 11:36
閱讀 1874·2021-10-11 10:59
閱讀 1485·2019-08-29 16:41
閱讀 1787·2019-08-29 13:45
閱讀 2156·2019-08-26 13:36