fork download
  1. #include <iostream>
  2. #include <cstdlib>
  3. using namespace std;
  4.  
  5.  
  6. class Array
  7. {
  8. public:
  9. //ctor dtor and operator overloading
  10. Array(int);
  11. Array(int *, int);
  12. ~Array();
  13. int& operator[](int i);
  14. //here memebers are defined
  15. int *arr;
  16. int size;
  17. };
  18.  
  19. Array::Array(int g = 1) :size(g) //diplomatic value for size =1
  20. {
  21. arr = new int[size];
  22. }
  23. Array::Array(int *p, int m_size=1) :arr(p), size(m_size)
  24. {}
  25.  
  26. Array::~Array()
  27. {
  28. delete[] arr;
  29. }
  30.  
  31. int& Array::operator[] (int i){
  32. return arr[i];
  33. }
  34.  
  35. int main() {
  36. Array arr(6);
  37. arr[3] = 6; //code crashes here
  38. printf("%d\n", arr[0]);
  39. printf("%d\n", arr[3]);
  40. return 0;
  41.  
  42. }
Success #stdin #stdout 0s 3468KB
stdin
Standard input is empty
stdout
0
6