c++ primer 学习笔记2(4)

2018-12-09 17:03

4. using namespace std; 5.

6. #define MAXTEMPSIZE 256 7.

8. class myString 9. { 10. public: 11. myString() 12. {

13. m_nLen = 4;

14. m_str = new char[ m_nLen + 1 ];

15. strcpy_s( m_str, strlen( \ ) + 1, \\ );

16. num_string++;

17. cout << \:\ << endl; 18. }

19. myString( char* str ) 20. {

21. m_nLen = strlen( str );

22. m_str = new char[ m_nLen + 1 ]; 23. strcpy_s( m_str, m_nLen + 1, str ); 24. num_string++;

25. cout << \:\ << endl; 26. }

27. myString( const myString& rString ) 28. {

29. m_nLen = strlen( rString.m_str ); 30. m_str = new char[ m_nLen + 1 ];

31. strcpy_s( m_str, m_nLen + 1, rString.m_str );

32. num_string++;

33. cout << \rString ):\ << endl; 34. }

35. ~myString() 36. {

37. if ( m_str ) 38. {

39. cout << \:\ << m_str << endl;

40. delete[] m_str; 41. }

42. num_string--;

43. cout << \:\ << endl; 44. }

45. static int HowMany() 46. {

47. return num_string; 48. }

49. inline int length() const 50. {

51. return m_nLen; 52. }

53. myString& operator= ( const myString& rString ) 54. {

55. if ( this == &rString ) 56. {

57. return *this; 58. }

59. m_nLen = rString.m_nLen; 60. m_str = new char[ m_nLen + 1 ];

61. strcpy_s( m_str, m_nLen + 1, rString.m_str );

62. num_string++;

63. cout << \t myString& rString ):\ << endl; 64. return *this; 65. }

66. myString& operator= ( const char* str ) 67. {

68. m_nLen = strlen( str );

69. m_str = new char[ m_nLen + 1 ]; 70. strcpy_s( m_str, m_nLen + 1, str ); 71. num_string++;

72. cout << \or= ( const char* str ):\ << endl; 73. return *this; 74. }

75. char& operator[] ( int i ) 76. {

77. return m_str[ i ]; 78. }

79. const char& operator[] ( int i ) const 80. {

81. return m_str[ i ]; 82. }

83.

84. friend ostream& operator<< ( ostream& os, const myString& rString );

85. friend istream& operator>> ( istream& is, myString& rString );

86. friend bool operator< ( const myString& rLeft, const myString& rRight );

87. friend bool operator> ( const myString& rLeft, const myString& rRight );

88. friend bool operator== ( const myString& rLeft, const myString& rRight ); 89. private: 90. int m_nLen; 91. char* m_str;

92. static int num_string; 93. }; 94.

95. int myString::num_string = 0; 96.

97. ostream& operator<< ( ostream& os, const myString& rString ) 98. {


c++ primer 学习笔记2(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:师资管理制度汇编. - 华立学院

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: