7_69.cpp
上传用户:zipjojo
上传日期:2009-07-20
资源大小:70k
文件大小:2k
源码类别:

文章/文档

开发平台:

C/C++

  1. #include<iostream.h>
  2. const int max=100;
  3. class set
  4. {
  5. int list[max];
  6. int pc;
  7. public:
  8. set()
  9. {
  10. pc=0;
  11. cout<<"Constructor called!"<<endl;
  12. }
  13. set(int a[],int size)
  14. {
  15. if(size>=100)
  16. pc=100;
  17. else
  18. pc=size;
  19. for(int i=0;i<pc;i++)
  20. list[i]=a[i];
  21. }
  22. set(set& s)
  23. {
  24. pc=s.pc;
  25. for(int i=0;i<pc;i++)
  26. list[i]=s.list[i];
  27. cout<<"Copy-initialization Constructor called!"<<endl;
  28. }
  29. void empty(){pc=0;}
  30. bool isempty()
  31. {
  32. if(pc==0) 
  33. return true;
  34. else 
  35. return false;
  36. }
  37. bool ismemberof(int n)
  38. {
  39. for(int i=0;i<pc;i++)
  40. if(list[i]==n)
  41. return true;
  42. return false;
  43. }
  44. void add(int n)
  45. {
  46. if(ismemberof(n))
  47. {
  48. cout<<"The set has included the number!";
  49. return ;
  50. }
  51. else if(pc>max)
  52. {
  53. cout<<"The set is full.DO NOT add a number!";
  54. return;
  55. }
  56. else
  57. list[pc++]=n;
  58. }
  59. set intersection(set& SET)
  60. {
  61. int a[100],size=0;
  62. for(int i=0;i<pc;i++)
  63. for(int j=0;j<SET.pc;j++)
  64. if(list[i]==SET.list[j])
  65. {
  66. a[size++]=list[i];
  67. break;
  68. }
  69. return set(a,size);
  70. }
  71. void print()
  72. {
  73. cout<<"{";
  74. for(int i=0;i<pc-1;i++)
  75. cout<<list[i]<<",";
  76. if(pc>0)
  77. cout<<list[pc-1];
  78. cout<<"}"<<endl;
  79. }
  80. };
  81. void main()
  82. {
  83. set A;
  84. if(A.isempty())
  85. cout<<"set 'A' is empty."<<endl;
  86. else
  87. cout<<"set 'A' is not empty."<<endl;
  88. cout<<"A:";A.print();
  89.     for(int i=1;i<10;i++)
  90. A.add(i);
  91. cout<<"A:";A.print();
  92. set B;
  93. for(i=1;i<6;i++)
  94. B.add(i);
  95. cout<<"B:";B.print();
  96. B.empty();
  97.     cout<<"B:";B.print();
  98. for(i=8;i<15;i++)
  99. B.add(i);
  100. cout<<"B:";B.print();
  101. set C(B);
  102. cout<<"C:";C.print();
  103. cout<<"A交C:";A.intersection(C).print();
  104. }