String类函数的封装实现

作者: SuperDing | 来源:发表于2017-02-14 10:30 被阅读0次

//String.h

ifndef MYSTRING_H

define MYSTRING_H

include<iostream>

include<string>

include<string.h>

include<stdlib.h>

using namespace std;
class MyString
{
char *m_pData;
public:
MyString();//构造函数
MyString(const char *pData);//构造函数
MyString(const MyString &str);//深拷贝构造函数
~MyString();//析构构造函数

bool empty();//是否清空
void clear();//清空

int size();//计算长度

//每一个普通的成员函数都有一个隐藏的形参,
//该函数返回的类型为该形参的类型
//该形参的名字为this

char *data()//打印
{
     if(NULL!=m_pData)
    {
       cout<<"m_pData="<<m_pData<<endl;
    }
}

};

endif

//mystring.cpp

include"myString.h"

MyString::MyString()
{
cout<<"MyString()"<<endl;
}

MyString::MyString(const char *pData)
{
m_pData==NULL;
if(NULL!=pData)
{
int k=strlen(pData)+1;
m_pData=new char[k];
if(NULL!=m_pData)
{
strcpy(m_pData,pData);
}
}
}

MyString::MyString(const MyString &str)
{
m_pData==NULL;
if(str.m_pData)
{
int k=strlen(str.m_pData)+1;
m_pData=new char[k];
if(NULL!=m_pData)
{
strcpy(m_pData,str.m_pData);
}
}
}

MyString::~MyString()
{
if(NULL!=m_pData)
{
delete []m_pData;
m_pData=NULL;
}
}
//是否清空
bool MyString::empty()
{
if(m_pData==NULL)
{
return false;
}
return true;
}
//清空
void MyString::clear()
{
if( empty() )
{
delete m_pData;
m_pData=NULL;
}
}

int MyString::size()
{
if(m_pData==NULL)
{
return 0;
}
return strlen(m_pData);
}

//main.cpp

include"myString.h"

int main()
{
MyString str1("helloWorld");
str1.data();
cout<<str1.size()<<endl;

MyString str2=str1;
str2.data();
cout<<str2.size()<<endl;

str2.clear();
str2.data();
cout<<"sddsd"<<endl;
return 0;

}

相关文章

  • String类函数的封装实现

    //String.h ifndef MYSTRING_H define MYSTRING_H include

  • 一个非常操蛋的问题

    我一直想的是利用C++string类封装的函数的便捷性和linux下的C/API结合来实现某些方法。可是有个问题出...

  • JS面向对象

    2019-04-25 构造函数 Javascript提供了构造函数(Constructor)模式实现类的设计与封装...

  • python函数的简单封装

    函数的简单封装 实现对文件读写操作的封装 file_function.py(实现函数的封装) (进行函数调用)

  • 2023-01-18 C++实现string类

    实现string类,用于学习 拷贝构造函数/拷贝赋值运算符/移动构造函数/移动赋值运算符

  • 技能

    C++ C++特性 C++11 多态和继承 构造函数 析构函数 手写代码实现string类 手写代码实现智能指针 ...

  • python之eval函数

    str()函数可以实现list,turple,dict到string的转换eval()函数可以实现将string转...

  • String 类

    memset之类的函数 实现一个String类 引用自:https://www.cnblogs.com/zhizh...

  • Kotlin基础之函数

    普通函数 fun name(str : String) : String { }fun 函数名(参数名 : 参数类...

  • STL:string类的函数总结

    STL:string类的函数总结

网友评论

    本文标题:String类函数的封装实现

    本文链接:https://www.haomeiwen.com/subject/aalxwttx.html