社区
C++ 语言
帖子详情
这题题怎么做,请高手帮个忙。
zzm5188
2004-06-22 04:34:42
定义一个字符串类string,使其至少具有内容(contents)和长度(length)两个数据成员,并具有显示字符串、求字符串长度、给原字符串后添加一个字符串等功能。
这道题我想了好久,就是不知从哪入手。
...全文
145
9
打赏
收藏
这题题怎么做,请高手帮个忙。
定义一个字符串类string,使其至少具有内容(contents)和长度(length)两个数据成员,并具有显示字符串、求字符串长度、给原字符串后添加一个字符串等功能。 这道题我想了好久,就是不知从哪入手。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
goodname
2004-06-29
打赏
举报
回复
下面的方法效率很低,仅仅供你参考。
#include <stdio.h>
#include <string.h>
//#include <assert.h>// for assert()
class string{
private:
char *p;//指向字符串
int length;//字符串的长度
public:
string(char *pp=NULL);
~string();
void print();
int size();
string& add(char *pp);
string& add(const string& str);//重载
};
//构造函数
string::string(char *pp)
{
if(pp != NULL){
length=strlen(pp);
p=new char[length+1];//多出的一个字节存放字符串结束标志'\0'
strcpy(p,pp);
}
else{
//p=new char[16];
}
}
//析构函数
string::~string()
{
delete[] p;
}
//打印
void string::print()
{
printf("%s",p);
}
//得到长度
int string::size()
{
return length;
}
//加字符串
string& string::add(char *pp)
{
char *tmp;
length=length+strlen(pp);
tmp=new char[length+1];
strcpy(tmp,p);
strcat(tmp,pp);
p=tmp;
return *this;
}
//加字符串
string& string::add(const string& str)
{
char *tmp;
length=length+str.length;
tmp=new char[length+1];
strcpy(tmp,p);
strcat(tmp,str.p);
p=tmp;
return *this;
}
int main()
{
string str("111\n");
//str.print();
str.add("222\n");
//str.print();
str.add("333\n").add("444\n");
//str.print();
string str1("111\n");
string str2("222\n");
str1.add(str2);
str1.print();
}
pl85413
2004-06-23
打赏
举报
回复
dsg
Hillside
2004-06-23
打赏
举报
回复
这样的设计,就是菜鸟级的,也不要去找源代码。这是最最基本的东西,不要任何参考,自己写出来,才能有真正的进步。东拼西凑是不会提高水平的。不会写,去看教程。
zzm5188
2004-06-22
打赏
举报
回复
谁说我没想,只是算法不一样, 但是“求字符串长度、给原字符串后添加一个字符串等功能”不知如何算。
class sring {
char contents;
int length;
public:
void show( )
{ cout < < contents :}
int getlong( )
{ return length;}
};
darkstar21cn
2004-06-22
打赏
举报
回复
只有下手了,才知道从哪入手
不作你将还是不会
kaphoon
2004-06-22
打赏
举报
回复
楼主真的想了
我不信
楼主知道有strlen()这种函数吗?
不知道
http://www.ggv.com.cn/forum/clib/string/strtok.html
oldjackyone
2004-06-22
打赏
举报
回复
这类问题,可以自己思考一下的....都是简单的东西.
njtu
2004-06-22
打赏
举报
回复
书上有源代码,具体那本记不清楚了,
c++ programming language
c++ primer
之类的应该有.
东西挺多的
goodname
2004-06-22
打赏
举报
回复
class string{
private:
char *p;//指向字符串
int length;//长度
public:
void print();
int getlength();
string& connect(const string& str);
};
接口声明,剩下的实现吧。
反向
题
在测试问卷信效度_问卷一定要
做
信度效度检验吗?如果含有多选
题
怎样
做
信度分析,
请
各位
高手
帮帮
忙
。...
展开全部一般问卷都是需要
做
信效度检验的,表明你的研究工具可靠、可信。多数问卷是以likert5级形式62616964757a686964616fe4b893e5b19e31333366303236呈现的多选
题
的话,是不能
做
信效度了。或者你将每个多选
题
的选项拆分,变成多个二分制的小
题
,是否选(0,1)然后可以重测效度方面,也就是表面效度和专家效度了扩展资料信度的影响因素影响信度的因素主要有以下几种:...
java程序设计的补充程序
题
_JAVA程序设计
题
(很简单的)
我选修了JAVA程序设计,但是我没去上过课,现在老师要考试了,据说出了考试范围,就是下面的
题
,
请
高手
会
做
的帮帮
忙
。希望要写完整的。1.设变量i和j的定义如下,试分别计算下列表达式...我选修了JAVA程序设计,但是我没去上过课,现在老师要考试了,据说出了考试范围,就是下面的
题
,
请
高手
会
做
的帮帮
忙
。希望要写完整的。1.设变量i和j的定义如下,试分别计算下列表达式的值:int=1; double=1...
举例写出c语言的四种存储类别,【C基础
题
,各位
高手
帮帮
忙
,限一小时
做
完,全部分了就50一、单项选择
题
(35道小
题
,共70分)1、若inta=5,b=6,c=7,d=8,m=2,n】作业帮...
C基础
题
,各位
高手
帮帮
忙
,限一小时
做
完,全部分了就50一、单项选择
题
(35道小
题
,共70分) 1、若int a=5,b=6,c=7,d=8,m=2,n=2; 则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为(...
微型计算机中R O M的中文名字,微机接口
题
O(∩-∩)O谢谢 会的
高手
帮我
做
做
哦
问
题
描述:微机接口
题
O(∩_∩)O谢谢 会的
高手
帮我
做
做
哦一、单项选择1、在程序控制传送方式中,哪种传送方式可以提高系统的工作效率( )A、无条件传送 B、查询传送 C、中断传送 D、前三项均可2、用DMA方式传送数据时,是由( )控制.A、CPU B、软件 C、CPU +软件 D、硬件控制器3、若微处理器可采用存储器统一编址,那么一条SUB指令可访问的地址空间...
C语言心理测试
题
的代码,求各位大神赐教!我
做
了一个“心理测试的答
题
卷”编程,总共有1...
该楼层疑似违规已被系统折叠隐藏此楼查看此楼求各位大神赐教!我
做
了一个“心理测试的答
题
卷”编程,总共有10道
题
,每道
题
有3个供选择的答案,每个答案得分从小到大是8分、5分和3分,满分答案为BACAAACCCB,总分为80分。可是运行满分答案之后却没有80分,
请
各位
高手
教教我!因为是初学者,所以语句用的是简单的,帮帮
忙
!谢谢!#include#include#includemain(){int fs...
C++ 语言
64,646
社区成员
250,479
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章