類中一些基本資料型別
阿新 • • 發佈:2018-11-08
8.13長物件
常物件的定義,使用關鍵字const。語法形式為:類名 const 物件名;
8.14常成員
類包括成員資料和成員函式,因此可以定義相應的常成員函式和常成員資料。
8.14.1常成員資料
其語法形式:
Const 資料型別 變數名;
當物件生成後,定義成常成員資料的量保持不變。
8.14.2常成員函式
語法形式為:
資料型別 函式名(形參列表) const;
對於常成員函式,需要注意:
①常成員函式不能改變所屬類的資料成員的值,為了保證安全,規定常成員函式中不能呼叫一般成員函式。
②關鍵字const可以作為函式過載的條件。
③常物件只能定義常成員函式,不能訪問一般函式。
8.15組合關係
現實世界中物件與物件之間的整體----部分關係又稱為組合關係。
//組合關係應用舉例 #include<iostream> #include<cstring> using namespace std; class Type{ public: Type() { cout<<"Constructing one type."<<endl; } private: float maxSpeed; int loadTndex; float diameter; char sec[20]; char company[20]; }; class SteeringWheel{ public: SteeringWheel(){ cout<<"Constructing one SteeringWheel."<<endl;} private: int color; char material[20]; char type[10]; char company[20]; }; class Motor{ public: Motor() { cout<<"Constructing one Motor."<<endl; } private: float gasDischarge; float oilConsume; float power; float zip; char company[20]; }; class Car{ public: Car() { cout<<"Constructing one Car."<<endl; } private: Type t4[4]; SteeringWheel sw; Motor m; }; int main() { Car car; return 0; }
8.16類模板
類模板是一個可以生成類的“超級資料型別”。定義模板的語法格式為
Template <class 識別符號1,.....,class 識別符號n>
定義類模板:
#include<iostream> #include<cstring> using namespace std; template <class T> class Max{ public: Max(T pFirst,T pSecond,T pThird); T getMax(); private: T first; T second; T third; }; template<class T> Max<T>::Max(T pFirst,T pSecond,T pThird): first(pFirst),second(pSecond),third(pThird){ } template<class T> T Max<T>::getMax() { T t; t=first>second?first:second; t=t>third?t:third; return t; } int main() { Max<int> nMax(1,2,3); cout<<"nMax is: "<<nMax.getMax()<<endl; Max<float> fMax(1.1f,2.2f,3.3f); cout<<"FMax is:"<<fMax.getMax()<<endl; return 0; }