求字符串的长度(C++编程)

要求:有关把字符串作为一个类定义,用成员函数求字符串长度。希望高手们尽快帮我解决这个问题,谢谢了啊!... 要求:
有关把字符串作为一个类定义,用成员函数求字符串长度。
希望高手们尽快帮我解决这个问题,谢谢了啊!
展开
 我来答
hughxing
2009-06-29 · TA获得超过4359个赞
知道小有建树答主
回答量:495
采纳率:0%
帮助的人:0
展开全部
//完整程序,VC6.0编译通过
#include<iostream>
using namespace std;

#define MaxSize 500

class String
{
private:
char *ptr;
public:
String();
~String();
int strLen(String *str); //返回字符串长度
void SetString(String *str);//输入字符串
void OutString(String *str);//输出字符串

};

int main()
{
cout<<"请输入:"<<endl;
String t;
t.SetString(&t);
cout<<endl<<"长度:"<<endl;
cout<<t.strLen(&t);
cout<<endl<<"字符串:"<<endl;
t.OutString(&t);
cout<<endl;
return 0;
}

String::String()
{
ptr=new char;
ptr = '\0';
}

String::~String()
{
free(ptr);
}

int String::strLen(String *str)
{
char *p=(char *)str->ptr;
int j=0;
while(*p!='\0')
{
p++;j++;
}
return j;
}
void String::SetString(String *str)
{
char s[MaxSize];
cin>>s;
char *p=new char [strlen(s)+1];
strcpy(p,s);
str->ptr = p;
}
void String::OutString(String *str)
{
cout<<str->ptr;
}
Draconious
2009-06-29 · TA获得超过6244个赞
知道大有可为答主
回答量:2142
采纳率:0%
帮助的人:2758万
展开全部
试试这个:

class String{
public:
String():str(0),l(0){}
String(const char* s);
String(const String& s);
~String();
void display();
int length(){return l;}
private:
char* str;
int l;
};

String::String(const char* s){
int i=0;
while(s[i]!='\0') i++;
str=new char[i+1];
int j=0;
while(j<=i)
str[j]=s[j];
l=i;
}

String::String(const String& s){
int i=0;
str=new char[s.l+1];
int j=0;
while(j<=s.l+1)
str[j]=s.str[j];
this->l=s.l;
}

String::~String(){
delete[] str;
}

void String::display(){
for(int i=0;i<l;i++)
printf("%c",str[i]);
printf("\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kwongki
2009-06-29 · TA获得超过107个赞
知道答主
回答量:379
采纳率:0%
帮助的人:310万
展开全部
把这个函数做为一个成员函数就可以了
函数实现也就是指针从头到尾的所用的次数
返回就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匡文斌0Jp
2009-06-29 · TA获得超过247个赞
知道答主
回答量:218
采纳率:100%
帮助的人:137万
展开全部
tring::lenth()放在你定义的类里作为public函数再设置个 私有变量 就ok了

这题出的没意义
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式