號外號外,接下來會整理一系列C++自學的筆記,提前透露很詳細的哦,想和博主一起學習C++的小伙伴可以提前關注起來,學習C++不迷路!
在開始我們C++的章節前,我先引入一個子版塊——從C到C++,循序漸進進行學習,
C++類和物件到底是什么意思?
在C語言中,我們可以在struct自定義資料型別,但是,C語言中struct只能包含變數,而C++中的 class 除了可以包含變數,還可以包含函式,C++ 中的類(Class)可以看做C語言中結構體(Struct)的升級版,
我們來看下面這樣一段使用 struct 和 class 的代碼,初步了解一下 二者,不要慌,跟著博主慢慢滾輪子就好,
#include <stdio.h>
//定義結構體 Student
struct Student{
//結構體包含的成員變數
char *name;
int age;
float score;
};
//顯示結構體的成員變數
void display(struct Student stu){
printf("%s的年齡是 %d,成績是 %f\n", stu.name, stu.age, stu.score);
}
int main(){
struct Student stu1;
//為結構體的成員變數賦值
stu1.name = "小明";
stu1.age = 15;
stu1.score = 92.5;
//呼叫函式
display(stu1);
return 0;
}
使用class
#include <stdio.h>
//通過class關鍵字類定義類
class Student{
public:
//類包含的變數
char *name;
int age;
float score;
//類包含的函式
void say(){
printf("%s的年齡是 %d,成績是 %f\n", name, age, score);
}
};
int main(){
//通過類來定義變數,即創建物件
class Student stu1; //也可以省略關鍵字class
//為類的成員變數賦值
stu1.name = "小明";
stu1.age = 15;
stu1.score = 92.5f;
//呼叫類的成員函式
stu1.say();
return 0;
}
- 結構體和類都可以看做一種由用戶自己定義的復雜資料型別,在C語言中可以通過結構體名來定義變數,在 C++ 中可以通過類名來定義變數,不同的是,通過結構體定義出來的變數還是叫變數,而通過類定義出來的變數有了新的名稱,叫做物件(Object),
- class 關鍵字定義了一個類 Student,然后又通過 Student 類創建了一個物件 stu1,變數和函式都是類的成員,創建物件后就可以通過點號
.來使用它們, - 可以將 類 比喻成圖紙,物件比喻成零件,圖紙說明了零件的引數(成員變數)及其承擔的任務(成員函式),一張圖紙可以生產出多個具有相同性質的零件,不同圖紙可以生產不同型別的零件,類只是一張圖紙,起到說明作用,不占記憶體空間;物件才是具體的零件,要有地方來存放,才會占用記憶體空間,
- 在 C++ 中,通過類名就可以創建物件,即將圖紙生產成零件,這個程序叫做類的實體化,因此也稱物件是類的一個實體,有些資料也將類的成員變數稱為屬性(Property),將類的成員函式稱為方法(Method),
面向物件編程
- 在C語言中,我們會把重復使用或具有某項功能的代碼封裝成一個函式,將擁有相關功能的多個函式放在一個源檔案,再提供一個對應的頭檔案,這就是一個模塊,使用模塊時,引入對應的頭檔案就可以,
- 但是我們在C++中,多了一層封裝,就是類(Class),類由一組相關聯的函式、變陣列成,你可以將一個類或多個類放在一個源檔案,使用時引入對應的類就可以,
我們通過兩個圖來更生動表示
C語言:

C++

本文關于從C到C++的過渡就到這里了,下一篇會詳細講解C++中命名空間的知識點,鞠躬!
小結
- C語言中的 struct 只能包含變數,而 C++ 中的 class 除了可以包含變數,還可以包含函式,
- 通過結構體定義出來的變數還是叫變數,而通過類定義出來的變數有了新的名稱,叫做物件(Object)
- 變數和函式都是類的成員,創建物件后就可以通過點號
.來使用它們(后面還有使用指標訪問的情況),
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/302278.html
標籤:其他
