【面试】String类构造和析构函数实现
发布日期:2021-06-28 21:59:44 浏览次数:2 分类:技术文章

本文共 800 字,大约阅读时间需要 2 分钟。

已知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 ;}

转载地址:https://blog.csdn.net/YEYUANGEN/article/details/20405279 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:qos令牌桶(Token Bucket)算法解析
下一篇:【面试】联合体内存表示

发表评论

最新留言

不错!
[***.144.177.141]2024年04月19日 23时25分18秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

实现原理讲解!记录一次腾讯Android岗面试笔试总结,讲的明明白白! 2019-04-29
当上项目经理才知道!百度、阿里、滴滴、新浪的面试心经总结,持续更新中 2019-04-29
快点来白嫖!6年菜鸟开发面试字节跳动安卓研发岗,Android岗 2019-04-29
快点来白嫖!安卓资深架构师分享学习经验及总结,经典好文 2019-04-29
快速上手!华为大神花费5个月打造的这份714页学习笔记系列!算法太TM重要了 2019-04-29
快速从入门到精通!2021最新Android知识体系总结,技术详细介绍 2019-04-29
成为一名合格Android架构师,一文带你搞懂Android多线程Handler,成功拿下大厂offer 2019-04-29
我总结了24家大厂100份面试题,2021年Android高级面试题,讲的明明白白! 2019-04-29
最新整理《Android架构师面试题解析大全》,深度解析跳槽从开始到结束完整流程,面试建议 2019-04-29
泪目!带你全面解析Android框架体系架构view篇,年薪50W 2019-04-29
深入交流安卓!我在华为做Android外包的真实经历!不吃透都对不起自己 2019-04-29
深入浅出Android开发!2021Android目前最稳定和高效的UI适配方案!已拿到offer 2019-04-29
深入讲解Android!闭关在家37天“吃透”这份345页PDF,经典好文 2019-04-29
深度剖析原理!不同层级的Android开发者的不同行为,附答案 2019-04-29
温故而知新!Android学习路线指南,全套教学资料 2019-04-29
由浅入深!关于Android性能优化的几点建议,醍醐灌顶! 2019-04-29
直接上干货!学习Binder前必须要了解的知识点,跳槽薪资翻倍 2019-04-29
看完豁然开朗!腾讯+字节+阿里面经真题汇总,含泪整理面经 2019-04-29
真牛!从外包月薪5K到阿里月薪15K,先收藏了 2019-04-29
想自学Android的速来!一文带你搞懂Android多线程Handler,系列篇 2019-04-29