#include <iostream>
#include <cstring>
using namespace std;
class myString
{
private:
char *str; //记录c风格的字符串
int size; //记录字符串的实际长度
public:
//无参构造
myString():size(10)
{
str = new char[size]; //构造出一个长度为10的字符串
strcpy(str,"");
}
//有参构造
myString(const char *s)
{
size = strlen(s);
str = new char[size+1];
strcpy(str,s);
}
//拷贝构造
myString(const myString &other):str(new char(*(other.str))),size(other.size)
{
}
//析构函数
~myString()
{
delete str;
}
//判空函数
void panKong()
{
cout << strcmp(str,"") << endl;
}
//size函数
void Size()
{
cout << strlen(str) << endl;
}
//c_str函数
char * zhuan()
{
return str;
}
//at函数
char &at(int pos)
{
cout << str[pos] << endl;
return str[pos];
}
};
int main()
{
myString s;
return 0;
}
3.完成下面类
本文详细介绍了C++中自定义类myString的构造函数(包括无参和有参)、拷贝构造、析构函数,以及判空、获取大小、转换为C风格字符串和访问特定位置字符的方法。
摘要由CSDN通过智能技术生成