&&重载实现寻找子集
来源:互联网 发布:it luggage 编辑:程序博客网 时间:2024/06/06 03:43
经此一役,悔不当初。题目虽小,但我深刻的认识到不应该小瞧每一道题目,即使一眼就能看出来思路,但有思路不等于有结果,要坦然、认真的面对每一个问题。
/*建立一个类 Intersection 求两个整数集合的交集。具体要求如下:(1)私有数据成员 int set[20]:用数组空间 set 存储集合。 int len:表示该集合中元素的个数(2)公有成员函数 Intersection(int *s,int l):用 s 初始化集合,用变量 l 初始化其长度。 Intersection( ):把 set 中各元素和长度初始化为 0。 int f(int num):判断整数 num 是否属于集合,是返回 1,否则返回 0; Intersection operator&&(Intersection t):重载&&,求当前对象的集合和参数对象 t 的集合的交集,方法是用对象 t 的集合中的每个元素作为参数调用 f 函数,若该元素属于当前对象的集合,则把它复制给交集。 void show():输出集合。(3)在主函数中对定义的类进行测试。定义数组 s1:{1,3,4,5,7,8}、s2:{1,2,3,5,7,9,11},并用它们初始化类 Intersection 的对象 obj1 和 obj2,然后调用相关的成员函数输出集合;定义对象 obj3,并用 obj1 和 obj2 的与运算符结果(交集)初始化该对象,并输出交集。*/#include<iostream>using namespace std;class Inter{private: int set[20]; int len;public: Inter(int *s, int k); Inter(); int fun(int num); Inter operator &&(Inter t); void show();};Inter::Inter(int *s, int k){ len = k; //之前在这出了错误,又重新定义了len,形如int len导致len为初始默认值导致后面的差错 for (int i = 0; i < k; i++) { set[i] = *(s + i); }}Inter::Inter(){ len = 0; for (int i = 0; i < 20; i++) { set[i] = 0; }}int Inter::fun(int num){ for (int i = 0; i < len; i++) { if (num == set[i]) return 1; } return 0;}Inter Inter::operator&&(Inter t){ Inter inter; int count = 0; for (int j = 0; j < t.len; j++) { if (fun(t.set[j])) { inter.set[count] = t.set[j]; count++; } } inter.len = count; return inter;}void Inter::show(){ cout << "交集为:{"; for (int i = 0; i < len; i++) { if(i<len-1) cout << set[i] << ','; if (i == len - 1) cout << set[i]; } cout << " }" << endl;}int main(){ int s1[] = { 1,3,4,5,7,8 }; int s2[] = { 1,2,3,5,7,9,11 }; Inter obj1(s1, 6), obj2(s2, 7); Inter obj3 = obj1 && obj2; obj3.show(); system("pause"); return 0;}
阅读全文
0 0
- &&重载实现寻找子集
- 通过名字寻找transform子集的GameObject
- SICP 习题2.32 subsets 寻找子集
- 子集和数JAVA实现
- 实现生成子集
- Java实现-子集
- 集合中寻找和为某值的子集
- 两种方法寻找一个集合的所有子集
- 快速寻找数组的子集之和为固定数
- 子集
- 子集
- 子集
- 子集
- 子集
- 重载实现
- Java实现-寻找峰值
- 用位操作实现按子集筛选
- C语言实现数组所有子集
- 使用CXF框架开发一个简单的WebService
- 【博弈+SG函数+打表找规律】HDU_5795_A Simple Nim
- JavaScript学习之简单的放大镜
- Android中View的宽高测量结果为0的原因和解决方法
- 阵列,配额与LVM
- &&重载实现寻找子集
- 【《Real-Time Rendering 3rd》 提炼总结】(六) 第七章 · 高级着色:BRDF及相关技术
- 文件流FileOutputStream类
- H5---js有哪些内置对象
- 动手实现并开源IDEOnline——代码高亮【富文本编辑框】
- Spring Boot实战学习笔记5
- iOS GCD中如何控制最大并发数
- 为什么模板不支持分离编译?
- 如何自己写一个公用的NPM包