template class t> //提取数据函数的实现 T Store<T>:: GetElem(void) //如果试图提取未初始化的数据,则终止程序 if (havevalue ==0) I cout << No item present! << end1 exit(1) return item;//返回iem中存放的数据 template< class t>//存入数据函数的实现 void Store<T>:: PutElem ( T X) //将 havevalue置为TRUE,表示item中已存入数值 haveValue++ 1 tem //将x值存入iem
template <class T> // 提取数据函数的实现 T Store<T>::GetElem(void) { // 如果试图提取未初始化的数据,则终止程序 if (haveValue == 0) { cout << "No item present!" << endl; exit(1); } return item; // 返回item中存放的数据 } template <class T> // 存入数据函数的实现 void Store<T>::PutElem(T x) { // 将haveValue 置为 TRUE,表示item中已存入数值 haveValue++; item = x; // 将x值存入item } 11
int maino I Student g=[1000, 23) Storeint> s1. s2 StoreStudent> s3 Storedouble> d S1 PutElem(3) S2. PutElem(-7) cout << S1. GetElemo<< S2 GetElem(<<end1 S3. PutElem (g) cout <<The student id is <<S3. GetElemo.id<endl cout Retrieving object D cout<<D. GetElem(<end1;//输出对象D的数据成员 //由于D未经初始化,在执行函数 D. GetElemento时出错
int main() { Student g= {1000, 23}; Store<int> S1, S2; Store<Student> S3; Store<double> D; S1.PutElem(3); S2.PutElem(-7); cout << S1.GetElem() << " " <<S2.GetElem()<<endl; S3.PutElem(g); cout << "The student id is " <<S3.GetElem().id<<endl; cout << "Retrieving object D " ; cout << D.GetElem() << endl; //输出对象D的数据成员 // 由于D未经初始化,在执行函数D.GetElement()时出错 } 12
C++语言程序设计 湖南科技大学 第二部分:群体教据 线性群体 线性群体的概念 直接访问群体-数组类 顺序访问群体--链表类 栈类 队列类
C++语言程序设计 湖南科技大学 13 第二部分:群体数据 ⚫ 线性群体 – 线性群体的概念 – 直接访问群体--数组类 – 顺序访问群体--链表类 – 栈类 – 队列类
C++语言程序设计 湖南科技大学 群体的概念 群体是指由多个数据元素组成的集 合体。群体可以分为两个大类:线性群 体和非线性群体。 线性群体中的元素按位置排列有序, 可以区分为第一个元素、第二个元素等。 非线性群体不用位置顺序来标识元 素
C++语言程序设计 湖南科技大学 14 群体的概念 群体是指由多个数据元素组成的集 合体。群体可以分为两个大类:线性群 体和非线性群体。 线性群体中的元素按位置排列有序, 可以区分为第一个元素、第二个元素等。 非线性群体不用位置顺序来标识元 素
C++语言程序设计 湖南科技大学 线性群体的概念 线性群体中的元素次序与其位置关 系是对应的。在线性群体中,又可按照 访问元素的不同方法分为直接访问、顺 序访问和索引访问。 在本章我们只介绍直接访问和顺序 访问。 第一个元素第二个元素第三个元素 最后一个元素
C++语言程序设计 湖南科技大学 15 线性群体的概念 线性群体中的元素次序与其位置关 系是对应的。在线性群体中,又可按照 访问元素的不同方法分为直接访问、顺 序访问和索引访问。 在本章我们只介绍直接访问和顺序 访问。 … 第一个元素 第二个元素 第三个元素 最后一个元素