| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 652 人关注过本帖
标题:[求助]请高手们进来看这个程序应该怎么做哈????
只看楼主 加入收藏
涛声依旧
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2005-3-5
收藏
 问题点数:0 回复次数:0 
[求助]请高手们进来看这个程序应该怎么做哈????

1、编写类String的构造函数、析构函数和赋值函数,要求能实现main函数中的表达式。(25分)

已知类String的原型为:

class String

{ public:

String(const char *str = NULL); // 普通构造函数

String(const String &other); // 拷贝构造函数

~ String(void); // 析构函数

String & operator =(const String &other); // 赋值函数

String operator +(const String &other);

private:

char *m_data; // 用于保存字符串

};

请编写String的上述4个函数。

// String的析构函数

String::~String(void)

{ __________________________; //删除资源

}

// String的普通构造函数

String::String(const char *str) // 6

{ if(str==NULL)

{ m_data = new char[1]; // 假设分配成功

*m_data = ‘\0’;

}

else

{ int length = strlen(str);

m_data = __new char[length];____; //分配空间

strcpy(m_data, str); // 假设分配成功

}

}// 拷贝构造函数

String::String(const String &other)// 3

{ int length = strlen(other.m_data);

m_data = new char[length+1]; // 假设分配成功

__________________________

}

// 赋值函数

String & String::operate =(const String &other)

{ // (1) 检查自赋值

if(this == &other)

return *this;

delete [] m_data;// // (2) 释放原有的内存资源

int length = strlen(other.m_data);

m_data = new char[length+1]; // 3)分配新的内存资源

strcpy(m_data, other.m_data);// ,并复制内容

__________________// 4)返回本对象的引用

}

String String::operate +(const String &other)

{ char *tempstr;//下边求字符串的长度

int len=____________________________________

tempstr=new char[len+1];

strcpy(tempstr,m_data);

____________________________________

String temp(tempstr);

__________________

return String;

}

void main()

{

String s1("student"),s2("teacher");

String s3;

s3=s2+s1;

}

搜索更多相关主题的帖子: 辽宁省 public 委员会 黑客 
2005-06-27 22:53
快速回复:[求助]请高手们进来看这个程序应该怎么做哈????
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014870 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved