文档详情

C++第一次作业C++第一次作业.doc

发布:2017-12-16约6.34千字共8页下载文档
文本预览下载声明
C++练习 宋文轩 CS1011 U201014546 3-1 集合类的头文件Set.h如下,请定义其中的函数成员。 class SET{ int *set; //set 用于存放集合元素 int card; //card 为能够存放的元素个数 int used; //used 为已经存放的元素个数 public: SET(int card);//card 为能够存放的元素个数 ~SET( ) int size( ); //返回集合已经存放的元素个数 int insert(int v); //插入 v 成功时返回 1,否则返回 0 int remove(int v); //删除 v 成功时返回 1,否则返回 0 int has(int v); //元素 v 存在时返回 1, 否则返回 0 } 解: 程序如下: #include iostream #include stdio.h using namespace std; class SET { int *set; int card; int used; public: SET(int card); ~SET(); int size(); int insert(int v); int remove(int v); int has(int v); }; SET::SET(int card) { if(set=new int[card])SET::card=card; used=0; } SET::~SET() { if(set) { delete set; set=0; card=used=0; } } int SET::size() { return used; } int SET::insert(int v) { if(usedcard) { set[used++]=v; return 1; } return 0; } int SET::remove(int v) { int x; if(used0) { for(x=0;xused;x++) if(set[x]==v) { used--; for(;xused;x++) set[x]=set[x+1]; return 1; } return 0; } return 0; } int SET::has(int v) { int x; for(x=0;xused;x++) if(set[x]==v) return 1; return 0; } int main() { return 0; } 3-5 利用 C 的文件类型 FILE, 定义新的文件类 DOCU, DOCU 用构造函数打开文件,用析构函数关闭文件, 并提供同 fread, fwrite, ftell, fseek 类似的函数成员 read, write, tell,seek, 类 DOCU 的声明如下. 请定义其中的函数成员. class DOCU{ char *name; FILE *file; public: int read(void *ptr, int size, int n); int seek(long offset, int whence); int write(const void *ptr, int size, int n); long tell( ); DOCU(const char *filename, const char *mode); ~DOCU( ); }; 解:程序如下: #include iostream #include stdio.h #include string.h using namespace std; class DOCU{ char *name; FILE *file; public: int read(void *ptr, int size, int n); int seek(long offset, int whence); int write(const void *ptr, int size, int n); long tell( ); DOCU(const char *filename
显示全部
相似文档