那位高手帮我写个类。(好像很简单)

popcom 2005-06-06 12:24:30
定义整数集合类intSet,该类包括如下成员函数:
1. IntSet(); //类的构造函数,根据需要可以定义多个构造函数
2. Empty(); //清空该整数集合
3. IsEmpty(); //判断整数集合是否为空
4. IsMemberOf(); //判断某个整数是否在该整数集合内
5. Add(); //增加一个整数到整数集合中
6. Sub(); //从整数集合中删除一个整数元素
7. IsEqual(); //判断两个集合是否等价
8. Intersection(); //求两个整数集合的交集
9. Union(); //求两个整数集合的并集
10. Print(); //依次输出该集合的每个元素
该类还包括如下数据成员:
1. element[100]; //保存整数集合数据
2. EndPosition; //指示整数集合的最后一个元素位置
...全文
157 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
popcom 2005-06-06
  • 打赏
  • 举报
回复
大哥们。我是不懂C++的,人家给我的东东,帮帮给写写了。分不够可以再加了。
naturemickey 2005-06-06
  • 打赏
  • 举报
回复
天那,我最讨厌这种东西了,一点技术含量也没有。
况且他(她)给出的接口和存储数据类型缺点多多,
如果完全让我自己设计我倒愿意帮忙。
fatalerror99 2005-06-06
  • 打赏
  • 举报
回复
用 element[100] 保存整数集合数据不妥,建议改用 vector<int>。
popcom 2005-06-06
  • 打赏
  • 举报
回复
我不懂c++的,也是人家问我的。不好意思。帮帮忙了
lbing7 2005-06-06
  • 打赏
  • 举报
回复
人家都给全了!

你还写不出来啊??

...............................
我还以为是让你自己来设计这个类呢!

楼主:
学习这东西,还是得自己来!
popcom 2005-06-06
  • 打赏
  • 举报
回复
非常感觉fufangpeng(酷麒麟) 的解答。结贴给分。(另开贴再给分) 谢谢
mlwu3 2005-06-06
  • 打赏
  • 举报
回复
致 naturemickey(周游世界):
可否说明一下其缺点何在
谢谢
学习中...

回复人: naturemickey(周游世界) ( ) 信誉:101 2005-06-06 12:46:00 得分: 0


天那,我最讨厌这种东西了,一点技术含量也没有。
况且他(她)给出的接口和存储数据类型缺点多多,
如果完全让我自己设计我倒愿意帮忙。


fufangpeng 2005-06-06
  • 打赏
  • 举报
回复
写了个,没有调试的,呵呵
头文件:
// intset.h: interface for the intset class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_INTSET_H__087FA13A_FCA5_488C_B181_2D9633198FF4__INCLUDED_)
#define AFX_INTSET_H__087FA13A_FCA5_488C_B181_2D9633198FF4__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <iostream.h>
#define size 100
class intset
{
public:
intset(const intset &a);
intset const Union(const intset a);
const intset intersection(const intset a);
void Print();
bool isepual(intset a);
int sub(int a);
int add(int a);
int ismemberof(const int a);
int isempty();
void empty();
intset();
virtual ~intset();
intset operator =(const intset &a);
private:
int element[size];
int endposition ;
};

#endif // !defined(AFX_INTSET_H__087FA13A_FCA5_488C_B181_2D9633198FF4__INCLUDED_)
实现文件:
// intset.cpp: implementation of the intset class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "intset.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

intset::intset()
{
endposition = 0;
}

intset::~intset()
{
}

void intset::empty()
{
endposition = 0;
}

int intset::isempty()
{
if(0==endposition)
return 0;
return 1;
}

int intset::ismemberof(const int a)
{
for(int i =0; i<=endposition; i++)
{
if(a==element[i])
{
return i;
break;
}
}
return 0;
}

int intset::add(int a)
{
if(ismemberof(a)!=0)
return 1;
else
{
endposition++;
if(endposition<size)
{
element[endposition-1] = a;
return 0;
}
else
{
endposition --;
return -1;
}
}
}

int intset::sub(int a)
{
int i = ismemberof(a);
if(0==i)
return 0;
for(int j =i; j<endposition-1; j++)
{
element[j] = element[j+1];
}
endposition --;
return 1;
}

bool intset::isepual(intset a)
{
if(endposition!=a.endposition)
return false;
for(int i=0; i<endposition; i++)
{
if(element[i]!=a.element[i])
return false;
}
return true;
}

void intset::Print()
{
for(int i=0; i<endposition; i++)
cout<<element[i];
}

intset const intset::intersection(const intset a)
{
intset b;
for(int i=0; i<endposition; i++)
{
for(int j=0; j<a.endposition; j++)
{
if(a.element[j] == element[i])
b.add(a.element[j]);
}
}
return b;
}

intset const intset::Union(const intset a)
{
intset b(a);
for(int i=0; i<endposition; i++)
{
if(ismemberof(a.element[i])==0)
b.add(a.element[i]);
}
return b;
}

intset::intset(const intset &a)
{
endposition = a.endposition;
for(int i=0; i<endposition; i++)
element[i] = a.element[i];
}

intset intset::operator =(const intset &a)
{
intset b(a);
return b;
}
可能有些细节问题没有考虑到,你自己试下吧
mostideal 2005-06-06
  • 打赏
  • 举报
回复
先标记,有时间再写。。。
popcom 2005-06-06
  • 打赏
  • 举报
回复
各个成员函数的实现,能不能给写写了
KenYuan2016 2005-06-06
  • 打赏
  • 举报
回复
.c里面的具体实现 你应该自己考虑. h 很简单写
KenYuan2016 2005-06-06
  • 打赏
  • 举报
回复
不都全部列出来了,你还要什么啊??/
无非就是加个
class class_name
{
public:
函数
public:
成员变量
}
根据需要使用public,private ,protect 关键字。

64,651

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧