【C++】初學類和物件的概念
阿新 • • 發佈:2018-12-05
C++中的類Class可以看作C語言中結構體的升級版。結構體是一種構造型別,它可以包含若干成員變數,而其中每個成員變數的型別又可以不同。例如:
struct Student {//結構體包含的成員變數 char *name; int age; float score; }; void Display(struct Student stu) { printf("%s的年齡是%d,成績是%.2f\n",stu.name,stu.age,stu.score); } int main() { struct Student stu1; stu1.name = "小明"; stu1.age = 18; stu1.score = 68.9; Display(stu1); return 0; }
打印出來是: 小明的年齡是18,成績是68.90
C++中的類也是一種建構函式,但在其基礎上有所擴充套件,比如:類的物件不但可以是變數,還可以是函式。通過類定義出來的變數被稱為“物件”。例如:
//通過class關鍵字定義 類 class Student { public: //類包含的變數 char *name; int age; float score; //類包含的函式 void Display() { printf("%s的年齡是%d,成績是%.2f\n",name,age,score); } }; int main() {//通過類來定義變數,即建立物件 class Student stu1;//可以忽略關鍵字class //為變數賦值 stu1.name = "小明"; stu1.age = 18; stu1.score = 68.9; //呼叫類的成員函式 stu1.Display();//和上一個在呼叫時有所區別 return 0; }
執行結果同上。
結構體和類都可以看作是使用者自定義的一種複雜資料型別,其中C語言中(如第一段程式碼所呈現,我們將Display()寫到struct Student外面)的結構體struct只能包含變數,結構體定義出來的變數叫“變數” ; C++中(如第二段程式碼所呈現,我們將Display()寫到了class Student裡面,像一個完整的整體)的類class不僅可以包含變數,還可以包含函式Display(),類定義出來的變數被稱為“物件”(Object)
在通過class關鍵字定義完類Student後,又通過Student類建立了一個物件stu1。變數和函式都是類的成員,建立物件後可以通過“
有些資料還將類的成員變數稱為 屬性 , 將類的成員函式成為 方法。