fork(1) download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class IntSet
  5. {
  6. public:
  7. bool* value;
  8. int size;
  9.  
  10. // CONSTRUCTORS
  11. IntSet(int val1 = -1, int val2 = -1, int val3 = -1, int val4 = -1, int val5 = -1);
  12. IntSet(const IntSet &other);
  13. ~IntSet();
  14. };
  15.  
  16. IntSet::IntSet(int val1, int val2, int val3, int val4, int val5)
  17. {
  18. // check if all values are default.
  19. if((val1 == -1) && (val2 == -1) && (val3 == -1) && (val4 == -1) && (val5 == -1))
  20. {
  21.  
  22. val1 = 1;
  23. size = 1;
  24.  
  25. // else if one or more values are not default, find largest value and
  26. // set size to the value.
  27. }
  28. else
  29. {
  30. if(val1 >= val2 && val1 >= val3 && val1 >= val4 && val1 >= val5) {
  31. size = val1;
  32. }
  33.  
  34. if(val2 >= val1 && val2 >= val3 && val2 >= val4 && val2 >= val5) {
  35. size = val2;
  36. }
  37.  
  38. if(val3 >= val1 && val3 >= val2 && val3 >= val4 && val3 >= val5) {
  39. size = val3;
  40. }
  41.  
  42. if(val4 >= val1 && val4 >= val2 && val4 >= val3 && val4 >= val5) {
  43. size = val4;
  44. }
  45.  
  46. if(val5 >= val1 && val5 >= val2 && val5 >= val3 && val5 >= val4) {
  47. size = val5;
  48. }
  49. }
  50.  
  51. // Create pointer to boolean array of size "size"
  52. bool *value = new bool[size];
  53.  
  54. // set all values at their specified index to true.
  55. if(val1 >= 0)
  56. value[val1] = true;
  57.  
  58. if(val2 >= 0)
  59. value[val2] = true;
  60.  
  61. if(val3 >= 0)
  62. value[val3] = true;
  63.  
  64. if(val4 >= 0)
  65. value[val4] = true;
  66.  
  67. if(val5 >= 0)
  68. value[val5] = true;
  69.  
  70. std::cout << "Size=" << size << std::endl;
  71. }
  72.  
  73. //------------------------------------------------------------------------------
  74.  
  75. IntSet::IntSet(const IntSet &otherSet) : size(otherSet.size)
  76. {
  77. cout << "In Copy Constructor" << endl;
  78.  
  79. value = new bool[size];
  80. for(int i = 0; i < size; i++)
  81. value[i] = otherSet.value[i];
  82. }
  83.  
  84. //------------------------------------------------------------------------------
  85.  
  86. IntSet::~IntSet()
  87. {
  88. cout << "In Destructor" << endl;
  89. delete[] value;
  90. }
  91.  
  92. int main()
  93. {
  94. IntSet set(4, 5, 6); //
  95. return 0;
  96. }
Runtime error #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
Size=6
In Destructor