Cpp中的class(類)


類是可以封裝數據和函數的高級結構體。

C++ 是一門面向對象的編程語言,理解 C++,首先要理解類(Class)對象(Object)這兩個概念。

C++ 中的類(Class)可以看做C語言中結構體(Struct)的升級版。結構體是一種構造類型,可以包含若干成員變量,每個成員變量的類型可以不同;可以通過結構體來定義結構體變量,每個變量擁有相同的性質。例如:

#include <stdio.h>//定義結構體 Studentstruct 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; }
運行結果:
小明的年齡是 15,成績是 92.500000
C++ 中的類也是一種構造類型,但是進行了一些擴展,類的成員不但可以是變量,還可以是函數;通過類定義出來的變量也有特定的稱呼,叫做“對象”。
C語言中的 struct 只能包含變量,而 C++ 中的 class 除了可以包含變量,還可以包含函數。
display() 是用來處理成員變量的函數,在C語言中,我們將它放在了 struct Student 外面,它和成員變量是分離的;
而在 C++ 中,我們將它放在了 class Student
內部,使它和成員變量聚集在一起,看起來更像一個整體。
有些資料也將類的成員變量稱為屬性(Property),將類的成員函數稱為方法(Method)。
面向對象編程(Object Oriented Programming,OOP)
類是一個通用的概念,C++、JavaC#PHP 等很多編程語言中都支持類,都可以通過類創建對象。
可以將類看做是結構體的升級版,C語言的晚輩們看到了C語言的不足,嘗試加以改善,繼承了結構體的思想,並進行了升級,讓程序員在開發或擴展大中型項目時更加容易。
不要小看類(Class)這一層封裝,它有很多特性,極大地方便了中大型程序的開發,它讓 C++ 成為面向對象的語言。
面向對象編程在代碼執行效率上絕對沒有任何優勢,它的主要目的是方便程序員組織和管理代碼,快速梳理編程思路,帶來編程思想上的革新。
面向對象編程是針對開發中大規模的程序而提出來的,目的是提高軟件開發的效率。
不要把面向對象和面向過程對立起來,面向對象和面向過程不是矛盾的,而是各有用途、互為補充的。
如果你希望開發一個貪吃蛇游戲,類和對象或許是多余的,幾個函數就可以搞定;但如果開發一款大型游戲,那你絕對離不開面向對象。
---------------------------------以上摘自C語言中文網----------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM