My String

本文介绍了一个简单的自定义字符串类myString的实现,包括构造函数、拷贝构造函数、赋值运算符重载及析构函数等核心成员函数。通过这些成员函数的实现,可以有效地管理字符串内存并正确地进行字符串复制。
#include <iostream>
#include 
<string>
using namespace std;

class myString
ExpandedBlockStart.gifContractedBlock.gif
{
private:
    
char* m_date;

public:
    myString(
const char* str)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{
        
if(str == NULL)
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            m_date 
= new char[1];
            
*m_date = '\0';
        }

        
else
ExpandedSubBlockStart.gifContractedSubBlock.gif        
{
            
int lenth = strlen(str);
            m_date 
= new char[lenth + 1];
            strcpy(m_date, str);
        }


    }


    myString(
const myString &other)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{
        
int lenth = strlen(other.m_date);
        m_date 
= new char[lenth + 1];
        strcpy(m_date, other.m_date);
    }


    myString 
& operator = (const myString &other)
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{
        
if(*this == other)
            
return *this;
        delete []m_date;

        
int lenth = strlen(other.m_date);
        m_date 
= new char[lenth + 1];
        strcpy(m_date, other.m_date);
        
return *this;
    }


    
~myString()
ExpandedSubBlockStart.gifContractedSubBlock.gif    
{
        delete []m_date;
    }


}

转载于:https://www.cnblogs.com/jackill/archive/2009/06/07/1498308.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值