string类 并且实现赋值运算符的重载

发布时间:2025-12-06 19:09

消费与储蓄并重,实现财富增值 #生活知识# #生活理念# #消费观念更新#

最新推荐文章于 2023-11-03 20:24:39 发布

原创 于 2018-08-28 10:36:40 发布 · 1.2k 阅读

· 0

· 1 ·

CC 4.0 BY-SA版权

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

#ifndef _CSTRING_H_

#define _CSTRING_H_

class CString

{

public:

CString(char* data = nullptr);

~CString();

CString(const CString &str);

CString& operator=(const CString &str);

void Show();

private:

char *m_data;

};

#endif

#include "String.h"

#include<iostream>

#include <assert.h>

using namespace std;

CString::CString(char* data )

{

if (nullptr == data)

{

m_data = new char;

*m_data = '\0';

}

else

{

int len = strlen(data);

m_data = new char[len + 1];

strcpy(m_data, data);

}

}

CString::~CString()

{

if (m_data != nullptr)

{

delete[]m_data;

m_data = nullptr;

}

}

CString::CString(const CString &str)

{

int len = strlen(str.m_data);

m_data = new char[len + 1];

strcpy(m_data, str.m_data);

}

CString &CString::operator=(const CString &str)

{

if (this != &str)

{

CString tmp(str);

char* ptmp = tmp.m_data;

tmp.m_data = m_data;

m_data = ptmp;

}

return *this;

}

void CString::Show()

{

cout << m_data << endl;

}

cpp

运行

网址:string类 并且实现赋值运算符的重载 https://www.yuejiaxmz.com/news/view/1415222

相关内容

String类的equals方法和==方法的比较
Vector容器重载运算符源码解析
Java——String类
String str = new String(“abc”)到底创建几个String对象
Java 中拼接String字符串高效方式
java中String s=”abc“及String s=new String(“abc”)详解
相等运算符运算规则,解释[]==[],[]==![],{}=={},{}==!{}
C++ operator关键字(重载操作符)
每个开发者都必须要知道的,三个JS高效运算符:?.
String类的equals和==方法

随便看看