侯捷C++复现:一个带有指针的string类-创新互联

目录

10年积累的成都做网站、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有让胡路免费网站建设让你可以放心的选择与我们合作。

三大件

1.复制拷贝函数

2.复制构造函数

3.析构函数


三大件

带有指针的类要注意三大件:

1.复制拷贝函数

其中复制拷贝函数是在已有对象的基础上,修改指针。实现上是重载=操作符,这里要注意的细节就是检查自我赋值。

2.复制构造函数

这是在没有对象的基础上,用另外一个相同的对象来构造一个新的对象,所以只需要为指针创建新的空间就行。

3.析构函数

释放指针对应的空间哒!

具体的测试和类的代码如下所示:

类:

//
// Created by 浅笑 on 2022/11/27.
//
#include#include#ifndef CLION_PJ_MY_STRING_H
#define CLION_PJ_MY_STRING_H
class my_string{
public:
    my_string(const char *cstr=0);
    // 拷贝构造 还未存在对象
    my_string(const my_string& str);
    // 拷贝赋值 已经存在对象
    my_string& operator=(const my_string& str);
    char *get_cstr() const {return m_data;}
    // 析构函数
    ~my_string();
private:
    char *m_data;
};

my_string::my_string(const char *cstr) {
    std::cout<<"common constructor"<

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享文章:侯捷C++复现:一个带有指针的string类-创新互联
文章地址:http://myzitong.com/article/dgcjds.html