C++面试之 类string的构造函数、拷贝构造函数和析构函数-阿里云开发者社区

开发者社区> xinxinitblog> 正文

C++面试之 类string的构造函数、拷贝构造函数和析构函数

简介: 编写类String 的构造函数,析构函数,拷贝构造函数和赋值函数 class String { public: String(const char *str=NULL);//构造函数 String(const String &other);//拷贝构造函数 ...
+关注继续查看

编写类String 的构造函数,析构函数,拷贝构造函数和赋值函数

class String 
{
public:
    String(const char *str=NULL);//构造函数
    String(const String &other);//拷贝构造函数
    ~String(void);//析构函数
    String& operator=(const String &other);//等号操作符重载
    ShowString();
private:
    char *m_data;//指针
};

String::~String()
{
  delete[] m_data;//析构函数,释放地址空间
}
String::String(const char *str)
{
    if (str==NULL)//当初始化串不存在的时候,为m_data申请
    {
       m_data = new char[1];
       *m_data='\0';
    }else
    {
        int length = strlen(str);
        m_data = new char[length+1];
        strcpy(m_data,str);
    }
}

String::String(const String &other)//拷贝构造函数
{
    int length = strlen(other.m_data);
    m_data = new char[length+1];
    strcpy(m_data,other.m_data);
}

String& String::operator=(const String &other)
{
    if (this==&other)
    {
        return *this;
    }
    delete []m_data;
    int length = strlen(other.m_data);
    m_data=new char[length+1];
    strlen(m_data,other.m_data);
    return *this;
}

注意:
1.拷贝构造函数和等号操作符重载函数参数用“&”表示深拷贝。深拷贝和浅拷贝也是一个重要的知识点.

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C语言-重构string.c系统库函数(3)
这是重写C语言string.c的部分函数的第3篇文章,前面2篇文章已经重写了部分函数,这篇文章介绍剩下的几个常用函数重写方法。
12 0
C语言-重构string.c系统库函数(2)
在上篇文章里已经重写了部分string.h 字符串处理的相关函数,这篇文章继续介绍string.h里常用的库函数
6 0
在String中添加移动构造函数和移动赋值运算符
13.50 没有定义析构函数 #include #include #include #include #include #include using namespace std; class String { public: String():elements(...
817 0
第10周-任务0-构造和析构函数的执行过程实例解析
【题目】阅读程序,先分析程序的执行结果,在上机时运行程序进行对照,再通过单步执行跟踪程序的运行,达到理解基类、派生类中构造函数、析构函数执行过程的目的。 程序如下: #include <iostream> using namespace std; class Part  //部件类 { public:     Part();     Part(int i);     ~
936 0
+关注
xinxinitblog
C++和iOS码农
178
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载