C++第一次作业C++第一次作业.doc
文本预览下载声明
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
显示全部