面试题:String类通用构造,拷贝构造,析构,赋值函数实现
2024-09-02 10:12:06
已知 String 类定义如下:
class String
{
public:
//通用构造函数
String(const char* str = NULL);
//拷贝构造函数
String(const String& str);
//析构函数
~String();
//赋值函数
String& operator=(const String& str); private:
char* m_data; //用于保存字符串
};
类的成员函数实现:
//通用构造函数
String::String(const char* str)
{
if(str == NULL)
{
m_data = new char[];
m_data[] = '\0';
}
else
{
m_data = new char[strlen(str) + ];
strcpy(m_data, str);
}
} //拷贝构造函数
String::String(const String& str)
{
m_data = new char[strlen(str.m_data) + ];
strcpy(m_data, str.m_data);
} //析构函数
String::~String()
{
delete [] m_data;
} //赋值函数
String& String::operator=(const String& str)
{
if(this == &str)
{
return *this;
} //删除原来的数据,新开一块内存
delete [] m_data; m_data = new char[strlen(str.m_data) + ];
strcpy(m_data, str.m_data);
return *this;
}
最新文章
- Python学习Day2笔记(集合和文件操作)
- Compare接口
- Android深度探索--HAL与驱动开发----第五章读书笔记
- FCKeditor编辑器如何使用
- Javascript模式(第四章函数)------读书笔记
- win10系统下点击关机却自动重启的问题解决思路
- 配置 Hdp 4 Window 中的一些问题
- DOS终端不能使用JAVA命令
- 《我是一只IT小小鸟》阅读笔记
- 【转】自定义iOS的Back按钮(backBarButtonItem)和pop交互手势(interactivepopgesturerecognizer) --- 不错
- 前端响应式设计中@media等的相关运用
- TCP内核源码分析笔记
- asp.net读取CSV
- VB6获取IE8的地址栏的URL信息
- webapi 使用Autofac 开发经历
- python读取uti-8格式ini配置文件出现UnicodeDecodeError: 'gbk' codec can't decode byte 0xba in position 367: illegal multibyte sequence错误解决方法
- Android权限大全(链接地址整理)
- maven配置,jdk1.8
- php跨域发送请求原理以及同步异步问题
- Rocketmq源码导入eclipse时报错的解决方法
热门文章
- volatile关键字?MESI协议?指令重排?内存屏障?这都是啥玩意
- 22、nlpir 人工智能
- VMware 中的win7虚拟机在一段时间后就会自动挂起
- [ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.4:install (default-cli) on project kircp-js-plan-resource: The packaging for this project did not assign a file to the bu
- 前后台入门系统搭建详解(springboot+angularjs)
- vue项目中监听sessionStorage值发生变化
- toJSON() 方法,将 Date 对象转换为字符串,并格式化为 JSON 数据格式。
- Swagger+SpringBoot整理
- PHP基础教程探讨一些php编程性能优化总结
- 能给个安全点的fifo吗