2.踩坑写string类遇到的问题 ( namespace &无法打开头文件 & error c2572)

在尝试创建自定义的string类时,作者遇到了一些常见问题。首先,使用`using namespace std`导致与标准库的string类冲突,因此将类名改为mystring。接着,头文件引用错误从`<mystring.h>`更正为`"mystring.h"`。在编写构造函数时,作者遭遇了C2572错误,原因是默认参数值只能在声明时指定,不能在定义时重复。此外,还遇到了C4996错误,可能与使用了不推荐的函数或特性有关,通过查阅资料得到了解决。
摘要由CSDN通过智能技术生成

自己写的头文件“mystring.h”代码如下

#ifndef _mystring_
#define _mystring_
#include <cstring>
#include <iostream>
using namespace std;

class mystring
{
   
public:
	mystring(const char* cstr = 0);
	mystring(const mystring& str);//拷贝构造,类似 mystring a;mystring b(a);
	mystring& operator = (const mystring& str);//class带指针一定要带这两行。拷贝复制
	~mystring();//析构函数
	char* get_c_str() const {
    return m_data; }


private: char* m_data;


};

inline 
mystring::mystring(const char* cstr )  //mystring::my
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值