标签:
常对象的定义,使用关键字const。语法形式为:类名 const 对象名;
类包括成员数据和成员函数,因此可以定义相应的常成员函数和常成员数据。
其语法形式:
Const 数据类型 变量名;
当对象生成后,定义成常成员数据的量保持不变。
语法形式为:
数据类型 函数名(形参列表) const;
对于常成员函数,需要注意:
①常成员函数不能改变所属类的数据成员的值,为了保证安全,规定常成员函数中不能调用一般成员函数。
②关键字const可以作为函数重载的条件。
③常对象只能定义常成员函数,不能访问一般函数。
现实世界中对象与对象之间的整体----部分关系又称为组合关系。
//组合关系应用举例 #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; }
类模板是一个可以生成类的“超级数据类型”。定义模板的语法格式为
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; }
标签:
原文地址:http://blog.csdn.net/l15738519366/article/details/51333363