1. 程式人生 > >類中一些基本資料型別

類中一些基本資料型別

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