写String类的普通构造函数,析构函数,拷贝构造函数和赋值函数
来源:互联网 发布:sql嵌套语句 编辑:程序博客网 时间:2024/04/29 22:11
编写类String的构造函数、析构函数和赋值函数,已知类String的原型为:
classString
{
public:
String(constchar *str = NULL); // 普通构造函数
String(constString &other); // 拷贝构造函数
~String(void); // 析构函数
String& operate =(const String &other); // 赋值函数
private:
char*m_data; // 用于保存字符串
};
解答:
//普通构造函数
String::String(constchar *str)
{
if(str==NULL)
{
m_data= new char[1]; // 得分点:对空字符串自动申请存放结束标志'\0'的空
//加分点:对m_data加NULL判断
*m_data= '\0';
}
else
{
intlength = strlen(str);
m_data= new char[length+1]; // 若能加 NULL 判断则更好
strcpy(m_data,str);
}
}
//String的析构函数
String::~String(void)
{
delete[] m_data; // 或delete m_data;
}
//拷贝构造函数
String::String(constString &other) // 得分点:输入参数为const型
{
intlength = strlen(other.m_data);
m_data= new char[length+1]; //加分点:对m_data加NULL 判断
strcpy(m_data,other.m_data);
}
//赋值函数
String& String::operate =(const String &other) // 得分点:输入参数为const型
{
if(this== &other) //得分点:检查自赋值
return*this;
delete[] m_data; //得分点:释放原有的内存资源
intlength = strlen( other.m_data );
m_data= new char[length+1]; //加分点:对m_data加NULL 判断
strcpy(m_data, other.m_data );
return*this; //得分点:返回本对象的引用
}
class
{
public:
String(const
String(const
~
String
private:
char
};
解答:
//普通构造函数
String::String(const
{
if(str==NULL)
{
m_data
//加分点:对m_data加NULL
*m_data
}
else
{
int
m_data
strcpy(m_data,
}
}
//
String::~String(void)
{
delete
}
//拷贝构造函数
String::String(const
{
int
m_data
strcpy(m_data,
}
//赋值函数
String
{
if(this
return
delete
int
m_data
strcpy(
return
}
0 0
- 写String类的普通构造函数,析构函数,拷贝构造函数和赋值函数
- 编写String类的普通构造函数、拷贝构造函数、析构函数、赋值函数
- string类的构造函数,析构函数,拷贝构造函数和赋值构造函数
- String 的普通构造函数、拷贝构造函数、析构函数、赋值函数
- string类的构造函数,拷贝构造函数,析构函数和赋值函数
- String类的构造函数,析构函数,拷贝构造函数和赋值函数
- string类的构造函数,拷贝构造函数,析构函数和赋值函数
- 编写类String的构造函数、拷贝构造函数、析构函数和赋值函数
- string类的构造函数、析构函数、拷贝构造函数和赋值函数
- 编写类String 的构造函数、拷贝构造函数、析构函数和赋值函数
- 网易游戏笔试题:编写string类的构造函数、拷贝构造函数、赋值构造函数和析构函数
- String的构造函数,拷贝构造函数、析构函数和赋值函数
- 类String的 构造函数、拷贝构造函数、析构函数、赋值函数实现
- 编写类String的构造函数、拷贝构造函数、析构函数、赋值函数
- 编写String类的构造函数、析构函数、拷贝构造函数、赋值函数
- 类String的构造函数、拷贝构造函数、析构函数、赋值函数
- 自主编程实现String类的构造函数,析构函数,拷贝构造函数,赋值函数
- 用String类的实验,说明拷贝构造函数、重载等号赋值函数、和普通构造函数的区别
- 辞职申请
- HDU 5637 Transform
- Source Insight的安装及使用
- Android从网上获取图片的简单示例
- Struts2入门示例教程
- 写String类的普通构造函数,析构函数,拷贝构造函数和赋值函数
- 同一个类不同对象,可以互相访问对方的私有成员而不通过get()或set()
- ECSHOP获取当前分类下商品的品牌列表
- JSON简介及其解析
- 2016太原UI设计师界面设计比例如何定?
- 关于浏览器 显示400异常的处理办法
- php日记——配置的坑
- 同余模定理
- Quartz2D - 图片裁剪为圆形(加边框)