问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++编程题,急。。。考试啊

发布网友 发布时间:2023-11-03 01:12

我来回答

1个回答

热心网友 时间:2024-11-30 03:12

#include <iostream>
#include <memory.h>

using namespace std;

class c_string {
typedef unsigned size_t;
friend c_string& contact(c_string &str1, const c_string& str2);
public:
c_string(size_t length = 20) : m_nLength(length) {
m_pStr = new char[m_nLength + 1];
memset(m_pStr, 0, m_nLength + 1);
}

c_string(const char* pStr) {
m_nLength = strlen(pStr);
m_pStr = new char[m_nLength + 1];
memcpy(m_pStr, pStr, m_nLength + 1);
}

c_string(const c_string& cstr) {
m_nLength = cstr.length();
m_pStr = new char[m_nLength + 1];
memcpy(m_pStr, cstr.c_str(), m_nLength + 1);
}

c_string& operator=(const c_string& cstr) {
if (this == &cstr) {
return *this;
}
delete m_pStr;
m_nLength = cstr.length();
m_pStr = new char[m_nLength + 1];
memcpy(m_pStr, cstr.c_str(), m_nLength + 1);
return *this;
}

void print() const {
cout << m_pStr << endl;
}

~c_string() {
if (m_pStr != NULL) {
delete m_pStr;
}
}

size_t length() const {
return m_nLength;
}

const char* c_str() const {
return m_pStr;
}
private:
char * m_pStr;
size_t m_nLength;
};

c_string& contact(c_string &str1, const c_string& str2) {
if (str2.length() == 0) {
return str1;
}
char *tem = new char[str1.m_nLength + str2.m_nLength + 1];
memcpy(tem, str1.m_pStr, str1.m_nLength);
memcpy(tem + str1.m_nLength, str2.m_pStr, str2.m_nLength + 1);
delete str1.m_pStr;
str1.m_pStr = tem;
return str1;
}

int main() {
char str[] = "hello world";
c_string *_str = new c_string(str);
_str->print();

c_string _str2(*_str);
_str2.print();

c_string _str3;
_str3 = *_str;
delete _str;
_str3.print();

c_string _str4(" how are you ?");
contact(_str2, _str4);
_str2.print();
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
早孕验血报告单怎么看 测试早孕的方法 联想电脑退货注意什么 公务员裸眼视力必须0.3吗 山东农业大学机电学院科研成果 山东农业大学机械与电子工程学院实验研究 山东农业大学机电工程学院有哪些重点实验室和研究中心? 复发性无菌性脑膜炎的诊断 电子简历自我评价 电子信息技术专业个人简历自我评价 楚留香手游9月7日更新公告 天机阁指点江山功能开放-手游资讯-安族网 口袋西游用珠宝兑换券怎么能换到60级戒指?拜托各位了 3Q 于组词并且造句1 于怎么组词18 武汉博民快易贷可以贷款10000元吗?需要什么证件可以申请贷... 于怎么组词18 用“于”组词13 小米手机电池没电自动关机后再充电就开不了机了是怎么回事115 红米K30突然黑屏无法开机,售后说主板坏了,还要走了开机密码...3 武汉运通益迪汽车销售服务有限公司怎么样? 湖北元一凡科技有限公司怎么样? 《喜马拉雅星》里面的那首歌曲叫做什么? 冬天真美600字的作文11 丝路英雄中怎样邀请好友才能成功 丝路英雄中的桃园结义任务怎么做? 怎么在一个手机上同时登录两个? 怎样才能月入三万,要怎样努力?6 魔域里面怎么换导师经验?拜托各位了 3Q12 什么是学生就近划片入学?急 急 急 丝路英雄中怎么添加好友、我四川11区,声望100以上的 c++编程题很急重赏 怎么才能做到月薪三万21 微信群如何指定某人转账? 梦幻西游我的灵符 有高魔之心 高法爆 慧根法连我想打笨高神佑怎么才能把... 怎样让微信好友看不到我的? 欠博民快易贷款不还告上法庭不去会咋样15 我一个手机号注册了两个,另外一个登不上了,怎么办? 一道C++编程题~~急用~!~!1 wxid开头的怎么加好友441 用wxid开头是什么意思,怎么加好友!192 wxid开头的怎么添加108 wxid开头的怎么添加好友,求大神解决必有重谢128 平均月收入3万,这到底怎么做到的18 丝路英雄怎么查看自己的好友 大众朗逸启航售价9.99-12.29万元,配置1.5L发动机3 终于的终字还可以组什么词?5 中建装饰集团怎么样,待遇呢?越详细越好 梦幻西游慧根在第二个位置好掉吗? 敷柠檬片可以美白吗?396 柠檬片敷脸美白吗? 郑中基在电影[喜马拉雅星]中演唱的插曲叫什么名字///