求几道C++题目的答案 200
一.定义整数集合类IntSet,该类包括如下成员函数:1.IntSet();//类的构造函数,根据需要可以定义多个构造函数2.Empty();//清空该整数集合3.IsE...
一.定义整数集合类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. count; //记录数组中元素的个数
注意:整数集合中不允许有相同元素存在。另外,上述诸函数的参数及其返回类型,
根据需要自定义。
二.设计一个float类型的数组类CFltArray,要求CFltArray可以进行如下操作:
1. 可以重置数组的大小(Resize)
2. 可以通过下标返回数组元素,并对下标越界情况进行检查
3. 可以利用已知数组对象对整个数组赋值和初始化
4. 可以返回当前数组的大小(Size)
最后用数据验证你所设计的类
提示:
1. 利用已知数组对象对整个数组赋值,说明要求重载等号运算符
2. 利用已知数组对象对整个数组初始化,说明要求重载拷贝构造函数
3. 要求用指针存储数组对象中元素
三.设计一个字符串类MyString, 要求该字符串类MyString实现如下运算符重载和操作
1. 关系运算符: 等于(==), 不等于(!=), 小于(<), 大于(>);
2. 算术运算符: 加(+);
3. 赋值运算: =;
4. 下标运算符: [];
要求定义主函数,实现对你定义的字符串类MyString的正确性测试
提示:
1. 假如定义两个字符串类对象s1和s2,且对它们赋值s1为abc,s2为def,那么s1+s2即为abcdef
2. 假如定义一个字符串类对象s1,且对其赋值为abcd,那么 s1[0]为取字符串对象中的第一个字符,即字符a
求几个写的简洁无错的,谢谢
这么简单200分你们都不要= =! 展开
1. IntSet(); //类的构造函数,根据需要可以定义多个构造函数
2. Empty(); //清空该整数集合
3. IsEmpty(); //判断整数集合是否为空
4. IsMemberOf(); //判断某个整数是否在该整数集合内
5. Add(); //增加一个整数到整数集合中
6. Sub(); //从整数集合中删除一个整数元素
7. IsEqual(); //判断两个集合是否等价
8. Intersection(); //求两个整数集合的交集
9. Union(); //求两个整数集合的并集
10. Print(); //依次输出该集合的每个元素
该类还包括如下数据成员:
1. element[100]; //保存整数集合数据
2. count; //记录数组中元素的个数
注意:整数集合中不允许有相同元素存在。另外,上述诸函数的参数及其返回类型,
根据需要自定义。
二.设计一个float类型的数组类CFltArray,要求CFltArray可以进行如下操作:
1. 可以重置数组的大小(Resize)
2. 可以通过下标返回数组元素,并对下标越界情况进行检查
3. 可以利用已知数组对象对整个数组赋值和初始化
4. 可以返回当前数组的大小(Size)
最后用数据验证你所设计的类
提示:
1. 利用已知数组对象对整个数组赋值,说明要求重载等号运算符
2. 利用已知数组对象对整个数组初始化,说明要求重载拷贝构造函数
3. 要求用指针存储数组对象中元素
三.设计一个字符串类MyString, 要求该字符串类MyString实现如下运算符重载和操作
1. 关系运算符: 等于(==), 不等于(!=), 小于(<), 大于(>);
2. 算术运算符: 加(+);
3. 赋值运算: =;
4. 下标运算符: [];
要求定义主函数,实现对你定义的字符串类MyString的正确性测试
提示:
1. 假如定义两个字符串类对象s1和s2,且对它们赋值s1为abc,s2为def,那么s1+s2即为abcdef
2. 假如定义一个字符串类对象s1,且对其赋值为abcd,那么 s1[0]为取字符串对象中的第一个字符,即字符a
求几个写的简洁无错的,谢谢
这么简单200分你们都不要= =! 展开
4个回答
展开全部
第一个:
#include <iostream.h>
class IntSet
{
private:
int element[100];
public:
int count;
//构造函数,将count设置为0;
IntSet()
{
count = 0;
}
//清空IntSet
void Empty()
{
for(int i=0; i<count; i++)
{
element[i] = NULL;
}
count = 0;
}
//判断是否为空
bool IsEmpty()
{
if(count == 0)
return true;
return false;
}
//判断某个整数是否在该整数集合内
//如果在,则返回该整数的下标,不在,则返回-1;
int IsMemberOf(int num)
{
for(int i=0; i<count; i++)
{
if(element[i] == num)
return i;
}
return -1;
}
//添加成功时返回true;失败时返回false
bool Add(int num)
{
if(count < 100)
{
element[count] = num;
count ++;
return true;
}
else
return false;
}
//删除一个下标为i的元素
//删除成功返回true,失败返回false
bool Sub(int i)
{
if(i < count && i >= 0)
{
for(int j=i; j<count-1; j++)
{
element[j] = element[j+1];
}
count --;
return true;
}
else
return false;
}
//判断是否相等
bool IsEqual(IntSet st)
{
if(count != st.count)
return false;
for(int i=0; i<count; i++)
{
if(st.IsMemberOf(element[i] == -1))
return false;
}
return true;
}
//返回两个IntSet的交集
IntSet Intersection(IntSet st)
{
IntSet result;
for(int i=0; i<count; i++)
{
if(st.IsMemberOf(element[i]) != -1)
result.Add(element[i]);
}
return result;
}
//返回两个IntSet的并集
IntSet Union(IntSet st)
{
IntSet result = st;
for(int i=0; i<count; i++)
{
if(st.IsMemberOf(element[i]) == -1)
result.Add(element[i]);
}
return result;
}
//输出所有的整数
void Print()
{
for(int i=0; i<count; i++)
cout<<element[i];
}
};
void main()
{ }
#include <iostream.h>
class IntSet
{
private:
int element[100];
public:
int count;
//构造函数,将count设置为0;
IntSet()
{
count = 0;
}
//清空IntSet
void Empty()
{
for(int i=0; i<count; i++)
{
element[i] = NULL;
}
count = 0;
}
//判断是否为空
bool IsEmpty()
{
if(count == 0)
return true;
return false;
}
//判断某个整数是否在该整数集合内
//如果在,则返回该整数的下标,不在,则返回-1;
int IsMemberOf(int num)
{
for(int i=0; i<count; i++)
{
if(element[i] == num)
return i;
}
return -1;
}
//添加成功时返回true;失败时返回false
bool Add(int num)
{
if(count < 100)
{
element[count] = num;
count ++;
return true;
}
else
return false;
}
//删除一个下标为i的元素
//删除成功返回true,失败返回false
bool Sub(int i)
{
if(i < count && i >= 0)
{
for(int j=i; j<count-1; j++)
{
element[j] = element[j+1];
}
count --;
return true;
}
else
return false;
}
//判断是否相等
bool IsEqual(IntSet st)
{
if(count != st.count)
return false;
for(int i=0; i<count; i++)
{
if(st.IsMemberOf(element[i] == -1))
return false;
}
return true;
}
//返回两个IntSet的交集
IntSet Intersection(IntSet st)
{
IntSet result;
for(int i=0; i<count; i++)
{
if(st.IsMemberOf(element[i]) != -1)
result.Add(element[i]);
}
return result;
}
//返回两个IntSet的并集
IntSet Union(IntSet st)
{
IntSet result = st;
for(int i=0; i<count; i++)
{
if(st.IsMemberOf(element[i]) == -1)
result.Add(element[i]);
}
return result;
}
//输出所有的整数
void Print()
{
for(int i=0; i<count; i++)
cout<<element[i];
}
};
void main()
{ }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询