- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 群体类;2;3;4;5;6;#ifndef ARRAY_CLASS
#define ARRAY_CLASS
#include iostream.h
#include stdlib.h
#ifndef NULL
const int NULL = 0;
#endif // NULL
enum ErrorType
{ invalidArraySize, memoryAllocationError,
indexOutOfRange };
char *errorMsg[ ] =
{ Invalid array size, Memory allocation error,
Invalid index:
};;template class T
class Array
{ private:
T* alist;
int size;
void Error(ErrorType error,int badIndex=0) const;
public:
Array(int sz = 50);
Array(const ArrayT A);
~Array(void);
ArrayT operator= (const ArrayT rhs);
T operator[ ](int i);
operator T* (void) const;
int ListSize(void) const;
void Resize(int sz);
};
//类成员函数的实现略;9;#include iostream.h
#include iomanip.h
#include 9_1.h
void main(void)
{
Arrayint A(10);
int n;
int primecount = 0, i, j;
cout Enter a value = 2 as upper limit for prime numbers: ;
cin n;
A[primecount++] = 2; // 2是一个质数;for(i = 3; i n; i++)
{ if (primecount == A.ListSize( ))
A.Resize(primecount + 10);
if (i % 2 == 0) continue;
j = 3;
while (j = i/2 i % j != 0) j += 2;
if (j i/2) A[primecount++] = i;
}
for (i = 0; i primecount; i++)
{ cout setw(5) A[i];
if ((i+1) % 10 == 0) cout endl;
}
cout endl;
};12;13;14;15;16;17;18;// 生成节点
template class T
NodeT *GetNode(const T item,
NodeT *nextPtr = NULL)
{ NodeT *newNode;
newNode = new NodeT(item, nextPtr);
if (newNode == NULL)
{
cerr Memory allocation failure! endl;
exit(1);
}
return newNode;
};enum AppendNewline {noNewline,addNewline};
// 输出链表
template class T
void PrintList(NodeT *head,
AppendNewline addnl = noNewline)
{ NodeT *currPtr = head;
while(currPtr != NULL)
{ if(addnl == addNewline)
cout cur
文档评论(0)