您可以通過定義一個類來定義新的數(shù)據(jù)類型。
類類型可以是其他類型的基本類型或其他類類型的變量的組合。
類也可以具有作為其定義的組成部分的功能。
您可以定義一個類型為Box,它包含存儲長度,寬度和高度來表示框的變量。
然后,您可以定義Box類型的變量,就像定義基本類型的變量一樣。
每個Box對象將包含自己的長度,寬度和高度尺寸,您可以根據(jù)需要在程序中創(chuàng)建和操作盡可能多的Box對象。
類是用戶定義的數(shù)據(jù)類型。
在類中定義的變量和函數(shù)是類的成員。
變量是數(shù)據(jù)成員和函數(shù)是函數(shù)成員。
類的函數(shù)成員是有時稱為方法。
類型的變量存儲對象。對象有時被稱為類的實例。
定義類的實例被稱為實例化。
面向?qū)ο缶幊贪艘恍┢渌匾南敕ǎㄖ姆庋b和數(shù)據(jù)隱藏,繼承和多態(tài))。
繼承是根據(jù)另一種定義一種類型的能力。
多態(tài)性是指在不同時間采取不同形式的能力。
C++中的多態(tài)性總是涉及使用指針或引用來調(diào)用對象的函數(shù)成員。
類是用戶定義的類型。
類型的定義使用class關(guān)鍵字。類定義的基本組織如下所示:
class ClassName { // Code that defines the members of the class... };
此類類型的名稱為ClassName。
使用用戶定義類的大寫名稱來區(qū)分類型和變量名是一個常見的約定。
類的成員都在大括號之間指定。
函數(shù)成員的定義可以在類定義的內(nèi)部或外部。
class Box { private: double length {1.0}; double width {1.0}; double height {1.0}; public: // Function to calculate the volume of a box double volume() { return length*width*height; } };
length,width和height是Box類的數(shù)據(jù)成員,都是double類型。
每個Box對象都有自己的數(shù)據(jù)成員集。
這是很明顯的 - 如果他們沒有自己的數(shù)據(jù)成員,所有的對象都是一樣的。
您可以像這樣創(chuàng)建一個類型為Box的變量:
Box myBox; // A Box object with all dimensions 1
myBox變量指的是具有默認數(shù)據(jù)成員值的Box對象。您可以調(diào)用該對象的volume()成員來計算卷:
std::cout << "Volume of myBox is" << myBox.volume() << std::endl; // Volume is 1.0
您可以將數(shù)據(jù)成員指定為public,在這種情況下,您可以從類外部顯式設(shè)置它們,如下所示:
myBox.length = 1.5; myBox.width = 2.0; myBox.height = 4.0; std::cout << "Volume of myBox is" << myBox.volume() << std::endl; // Volume is 12.0
更多建議: