1.? C語言和C++的區別?
C語言作為一種過程性語言,側重于通過算法描述來指導計算機執行,將復雜程序分解為簡單、可管理的模塊。 C語言支持模塊化編程,每個模塊作為獨立的單元。C++融合了3中不同的編程方式:C語言、面向對象語言、泛型編程。
2.?什么是類?
?類是一種規范,定義了數據成員和成員函數,構成了一個新的數據類型。類描述了對象的特征和行為。對象是類的具體實例,即根據類的規范創建的數據結構。每個對象都擁有類所定義的屬性和方法,通過對象可以進行實際的數據操作和功能實現。
3.什么是封裝?
封裝,類可以將內部數據(私有成員)隱藏起來,僅暴露有限的公共接口(公有成員函數)供外部訪問,這樣可以防止數據被不當修改。
4.什么是多態?
多態允許使用一個接口來表示不同類型的實體,從而能夠在不修改現有代碼的情況下,使程序能夠處理多種數據類型或類的對象。這通過虛函數、重載運算符和函數重寫等機制實現。
5.什么是繼承?
?繼承是一種建立類與類之間關系的方式,子類可以繼承父類的屬性和方法,并在此基礎上添加或修改,實現代碼的復用和擴展。這有助于構建一個層次化的類結構,促進模塊化和靈活性。
6. 預處理指令有什么用?
#include<>編譯之前, 使用指定的內容特換該預處理指令。
#define定義符號常量,但是更好的使用const
7.頭文件注意的問題是什么?
8.名稱空間有什么用?
避免名稱沖突。
9.const類型有什么用?
定義常量,編譯器不允許修改該常量的值。比#define好,能確定類型,使用const將作用域限定再特定的作用域中。const可以用于更復雜的類型。
10.類型轉換?
整形提升不會損失數據。
強制類型轉換。
static_cast<>可以將值從一種類型轉換為另一種類型。
11.auto聲明?
讓編譯器可以初始值推斷變量的類型,如STL中類型時,自動類型推斷很方便。
12.什么是union?
union的各個成員共享相同的內存位置,因此只能存儲一個成員的值。如果更改一個成員的值,會影響其他成員的值。大小等于最大成員的大小:union的大小等于其中最大成員的大小。 ? ? ?
union UnionName {data_type member1;data_type member2; data_type memberN;
};
?13.什么是結構體?
結構是用戶定義的類型,C++結構除了成員變量還有成員函數。
14.什么是enum?什么是枚舉類?
enum是枚舉類型,是一種用戶自定義的數據類型,由一組常量組成,這些常量代表一個固定的整數值序列。可以提高代碼的可讀性,用有意義的名稱而不是抽象的數字來表示。
enum EnumName {enumerator1, enumerator2,..., enumeratorN
};
默認第一個枚舉成員的值為0,之后每個成員的值依次遞增1,也可以顯示賦值。
C++11引入了enum class,可以更好的作用域控制和類型安全。枚舉成員需要通過加上類名前綴來訪問,避免名稱沖突。
enum class Color {Red,Green,Blue
};
待(整理100個換)