【面试】String类构造和析构函数实现
来源:互联网 发布:防火墙端口 编辑:程序博客网 时间:2024/06/10 13:14
已知String类定义如下:
class String
{
public:
String(const char *str = NULL); // 通用构造函数
String(const String &another); // 拷贝构造函数
~ String(); // 析构函数
String & operater =(const String&rhs); // 赋值函数
private:
char *m_data; // 用于保存字符串
};
尝试写出类的成员函数实现。
答案:
// 通用构造函数String::String(const char *str){if ( str == NULL ) //strlen在参数为NULL时会抛异常才会有这步判断{m_data = new char[1] ;m_data[0] = '\0' ;}else{m_data = new char[strlen(str) + 1];strcpy(m_data,str);}}// 拷贝构造函数String::String(const String &another){m_data = new char[strlen(another.m_data) +1];strcpy(m_data,other.m_data);} // 赋值函数String& String::operator =(const String&rhs){if ( this == &rhs)return *this ;delete []m_data; //删除原来的数据,新开一块内存m_data = new char[strlen(rhs.m_data) + 1];strcpy(m_data,rhs.m_data);return *this ;} // 析构函数String::~String(){delete []m_data ;}
1 0
- 【面试】String类构造和析构函数实现
- C++面试之 类string的构造函数、拷贝构造函数和析构函数
- 【C/C++】实现一个string类的构造函数、析构函数和赋值函数
- string类的构造函数,析构函数,拷贝构造函数和赋值构造函数
- 类String的 构造函数、拷贝构造函数、析构函数、赋值函数实现
- 自主编程实现String类的构造函数,析构函数,拷贝构造函数,赋值函数
- 经典考题——String类的实现(考察构造函数析构函数拷贝构造函数和赋值构造函数)
- 面试题目6 编写类String的构造函数、拷贝构造函数、析构函数、赋值函数
- 重写string 类的构造函数和析构函数
- String类的构造函数和析构函数
- string类的构造函数,拷贝构造函数,析构函数和赋值函数
- String类的构造函数,析构函数,拷贝构造函数和赋值函数
- string类的构造函数,拷贝构造函数,析构函数和赋值函数
- 编写类String的构造函数、拷贝构造函数、析构函数和赋值函数
- string类的构造函数、析构函数、拷贝构造函数和赋值函数
- 编写类String 的构造函数、拷贝构造函数、析构函数和赋值函数
- 写String类的普通构造函数,析构函数,拷贝构造函数和赋值函数
- 编写类string的构造函数、拷贝构造函数和析构函数
- Java数据连接池
- 函数调用过程-栈帧 和 进程的关系
- hdu1261 JAVA
- EM算法主观理解
- 不熟悉,是因为你缺乏练习
- 【面试】String类构造和析构函数实现
- 类和对象
- 在Cookie被禁用的情况下使用url rewrite机制保持Session
- 关于递归
- Temporary solution: LookupError: no codec search functions registered
- Apache Tika:通用的内容分析工具
- MFC数据类型
- 那年代久远的黑历史
- JAVA笔记