网站大量收购闲置独家精品文档,联系QQ:2885784924

C++清华大学出版社_第四版课件第九章教程.ppt

C++清华大学出版社_第四版课件第九章教程.ppt

  1. 1、本文档共90页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C清华大学出版社_第四版课件第九章教程

第九章 群体类 和群体数据的组织;*;*;*;*;*;*;*;*;template class T class Store {//类模板:实现对任意类型数据进行存取 private: T item; // item用于存放任意类型的数据 bool haveValue; // haveValue标记item是否已被存入内容 public: Store(); // 缺省形式(无形参)的构造函数 T getElem(); //提取数据函数 void putElem(const T x); //存入数据函数 }; //以下实现各成员函数。 template class T //缺省构造函数的实现 StoreT::Store(): haveValue(false) { };template class T //提取数据函数的实现 T StoreT::getElem() { //如试图提取未初始化的数据,则终止程序 if (!haveValue) { cout No item present! endl; exit(1); //使程序完全退出,返回到操作系统。 } return item; // 返回item中存放的数据 } template class T //存入数据函数的实现 void StoreT::putElem(const T x) { // 将haveValue 置为true,表示item中已存入数值 haveValue = true; item = x; // 将x值存入item } ;int main() { Storeint s1, s2; s1.putElem(3); s2.putElem(-7); cout s1.getElem() s2.getElem() endl; Student g = { 1000, 23 }; StoreStudent s3; s3.putElem(g); cout The student id is s3.getElem().id endl; Storedouble d; cout Retrieving object D... ; cout d.getElem() endl //由于d未经初始化,在执行函数D.getElement()过程中导致程序终止 return 0; } ;*;*;*;*;#ifndef ARRAY_H #define ARRAY_H #include cassert template class T //数组类模板定义 class Array { private: T* list;//用于存放动态分配的数组内存首地址 int size; //数组大小(元素个数) public: Array(int sz = 50); //构造函数 Array(const ArrayT a); //拷贝构造函数 ~Array(); //析构函数 ArrayT operator = (const ArrayT rhs); //重载=“ T operator [] (int i); //重载[]” const T operator [] (int i) const; operator T * (); //重载到T*类型的转换 operator const T * () const; int getSize() const; //取数组的大小 void resize(int sz); //修改数组的大小 };;*;*;*;*;*;*;*;*;*;*;#include iostream #include iomanip #include Array.h using namespace std; int main() { Arrayint a(10); // 用来存放质数的数组,初始状态有10个元素。 int n, count = 0; cout Enter a value = 2 as upper limit for prime numbers: ; cin n; for (int i = 2; i = n; i++) { bool isPrime = true; for (int j = 0; j count; j++) if (i % a[j] == 0) { //若i被a[j]整除,说明i不是质数 isPrime = false; break; } if (isPrime) { if (count == a.getSize()) a.resize(count * 2)

您可能关注的文档

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档