龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

C++动态数组类的封装实例(3)

时间:2014-08-16 02:12来源:网络整理 作者:网络 点击:
分享到:
如果你弄懂了上面DArray类的写法,那么实现String类应该就不难了。因为面试官一般只是想考查你能不能正确地写出构造函数、析构函数、拷贝构造函数、拷

如果你弄懂了上面DArray类的写法,那么实现String类应该就不难了。因为面试官一般只是想考查你能不能正确地写出构造函数、析构函数、拷贝构造函数、拷贝赋值运算符以及+、[ ]、<<、>>运算符重载等等。下面给出一个String类的接口,你可以自己试试手实现一下:

class String{  
  friend ostream& operator<< (ostream&,String&); //重载<<运算符  
  friend istream& operator>> (istream&,String&); //重载>>运算符  
public:  
  String();  // 默认构造函数 
  String(const char* str);    // 带参构造函数  
  String(const String& rhs);    // 拷贝构造函数  
  String& operator=(const String& rhs);  // 拷贝赋值运算符  
  String operator+(const String& rhs) const; //operator+  
  bool operator==(const String&);       //operator== 
  bool operator!=(const String&);       //operator!=   
  char& operator[](unsigned int);       //operator[]  
  size_t size() const;  
  const char* c_str() const; 
  ~String();  // 析构函数  
private:  
  char *m_data; // 用于保存字符串  
}; 

本文所述DArray类和String类的源码及测试代码可点击此处本站下载

精彩图集

赞助商链接