zoukankan      html  css  js  c++  java
  • c++自定义对象支持按下标遍历

    1. #include<iostream>
    2. #include<string>
    3. using namespace std;
    4. class Array
    5. {
    6. public:
    7. Array(){length = 0; num = NULL;};
    8. Array(int n);
    9. int & operator[]( int );
    10. const int & operator[]( int )const;
    11. int getlength() const {return length;}
    12. private:
    13. int length;
    14. int * num;
    15. };
    16. Array::Array(int n)
    17. {
    18. try
    19. {
    20. num = new int[n];
    21. }
    22. catch(bad_alloc)
    23. {
    24. cerr<<"allocate storage failure!"<<endl;
    25. throw;
    26. }
    27. length = n;
    28. }
    29. int& Array::operator[](int i)
    30. {
    31. if(i < 0 || i >= length)
    32. throw string("out of bounds");
    33. return num[i];
    34. }
    35. const int & Array::operator[](int i) const
    36. {
    37. if(i < 0 || i >= length)
    38. throw string("out of bounds");
    39. return num[i];
    40. }
    41. int main()
    42. {
    43. Array A(5);
    44. int i;
    45. try
    46. {
    47. for(i = 0; i < A.getlength(); i++)
    48. A[i] = i;
    49. for(i = 0 ;i < 6; i++ )
    50. cout<< A[i] <<endl;
    51. }
    52. catch(string s)
    53. {
    54. cerr<< s <<", i = "<< i <<endl;
    55. }
    56. return 0;
    57. }
  • 相关阅读:
    原型与原型链
    数据类型与计算
    JavaScript实现版本号比较
    vue依赖
    vue
    面试经验
    第十一节课 课堂总结
    第十一次作业
    第十课课堂总结
    第十次作业
  • 原文地址:https://www.cnblogs.com/qiumingcheng/p/15479975.html
Copyright © 2011-2022 走看看