类中一些基本数据类型

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; 
}



猜你喜欢

转载自blog.csdn.net/l15738519366/article/details/51333363