亚信联创招聘会笔试题和面试题答案目(3)

招聘笔试题2018-11-22王华老师

  [cpp] view plaincopy

  class String

  {

  public:

  String(const char *str = NULL); // 普通构造函数

  String(const String &other); // 拷贝构造函数

  ~String(void); // 析构函数

  String & operator =(const String &other); // 赋值函数

  private:

  char *m_data; // 用于保存字符串

  };

  请编写String的上述4个函数普通构造函数、拷贝构造函数、析构函数和赋值函数。

  代码如下:

  [cpp] view plaincopy

  class String

  {

  private:

  char *m_data; //私有成员,保存字符串

  public:

  String(const char *str = NULL); //普通构造函数

  String(const String &other); //复制构造函数

  ~String(void); //析构函数

  String & operator =(const String &other); //赋值函数

  };

  String::String(const char *str = NULL) //带一个指针的普通构造函数

  {

  if(str == NULL)

  {

  m_data = new char[1]; //分配一个字节

  assert(m_data != NULL);

  *m_data = '\0';

  }

  else

  {

  m_data = new char[strlen(str)+1]; //分配空间容纳str内容

相关推荐

猜你喜欢

大家正在看

换一换