实现字符串类String的设计,实现赋值运算符重载函数,默认、一般、拷贝构造函数,析构函数
2012-07-19 23:47
281 查看
面试中被考住了啊!
实现字符串类String的设计,实现赋值运算符重载函数,默认、一般、拷贝构造函数,析构函数
包含指针成员的类深赋值运算符重载,类设计,类的默认、拷贝构造函数,析构函数
实验参考
class String
{
char * m_data;
public:
String();
String(const char *str=NULL);
String(const String &other);
String & operator=(const String &other);
~String();
};
默认构造函数
String::String()
{
m_data = new char[1];
*m_data = '\0';
}
自定义构造函数
String::String(const char *str)
{
if(NULL ==str )
{
m_data = new char[1];
*m_data = '\0';
}
else
{
int iLen = strlen(str);
m_data = new char[iLen +1];
strcpy(m_data, str);
}
}
拷贝构造函数
String::String(const String &other)
{
int iLen = strlen(other.m_data);
m_data = new char[iLen + 1];
strcpy(m_data, other.m_data);
}
析构函数
String::~String()
{
delete []m_data;
}
重载赋值运算符函数
String &String::operator=(const String &other)
{
if(this == &other)//自检查,防止自己赋值给自己
{
return *this;
}
delete []m_data;//删除原来的内存资源
iLen = strlen(other.m_data);
m_data = new char[ILen +1];
strcpy(m_data, other.m_data);
return *this;
}
实现字符串类String的设计,实现赋值运算符重载函数,默认、一般、拷贝构造函数,析构函数
包含指针成员的类深赋值运算符重载,类设计,类的默认、拷贝构造函数,析构函数
实验参考
class String
{
char * m_data;
public:
String();
String(const char *str=NULL);
String(const String &other);
String & operator=(const String &other);
~String();
};
默认构造函数
String::String()
{
m_data = new char[1];
*m_data = '\0';
}
自定义构造函数
String::String(const char *str)
{
if(NULL ==str )
{
m_data = new char[1];
*m_data = '\0';
}
else
{
int iLen = strlen(str);
m_data = new char[iLen +1];
strcpy(m_data, str);
}
}
拷贝构造函数
String::String(const String &other)
{
int iLen = strlen(other.m_data);
m_data = new char[iLen + 1];
strcpy(m_data, other.m_data);
}
析构函数
String::~String()
{
delete []m_data;
}
重载赋值运算符函数
String &String::operator=(const String &other)
{
if(this == &other)//自检查,防止自己赋值给自己
{
return *this;
}
delete []m_data;//删除原来的内存资源
iLen = strlen(other.m_data);
m_data = new char[ILen +1];
strcpy(m_data, other.m_data);
return *this;
}
相关文章推荐
- String构造函数 拷贝构造函数 析构函数 赋值构造函数的实现
- 实现string的构造函数,析构函数,拷贝构造函数
- 实现C++类中默认的四个方法默认构造函数、析构函数、拷贝构造函数、赋值函数
- 字符串strcpy函数的实现,以及字符串string的实现,编写构造函数,拷贝构造函数,赋值函数,析构函数
- 类String的 构造函数、拷贝构造函数、析构函数、赋值函数实现
- 类string的构造函数、拷贝构造函数和析构函数
- C++实现一个类并包含构造函数,拷贝构造函数,赋值函数,析构函数
- String字符串类实现
- 编写类String 的构造函数、拷贝构造函数、析构函数和赋值函数
- 实现string的默认构造函数,拷贝函数,c型字符串参数的构造函数,赋值构造函数,析构函数,重载输出操作符,测试
- String 的普通构造函数、拷贝构造函数、析构函数、赋值函数
- 类string的构造函数、拷贝构造函数和析构函数
- 三十三、Java图形化界面设计——布局管理器之null布局(空布局)一般容器都有默认布局方式,但是有时候需要精确指定各个组建的大小和位置,就需要用到空布局。 操作方法: 1)
- 经典考题——String类的实现(考察构造函数析构函数拷贝构造函数和赋值构造函数)
- 编写类String的构造函数、拷贝构造函数、析构函数和赋值函数
- 一个有用的ANSI字符串类String的实现及使用演示
- 类String的构造函数、析构函数、拷贝构造函数和赋值函数
- 20170825_string构造函数、析构函数、拷贝构造函数以及重载赋值运算符
- 结合redis设计与实现的redis源码学习-8.2-t_string(字符串键)
- 类String的构造函数拷贝构造函数和析构函数