以字符串处理函数为例,不调用string库里的函数,编写一个c++程序来实现字符串处理函数strlen的功能,代码如下:
//strlen
//
#include<iostream>
using
namespace std;
class istrlen{
public:
int number;
char a[10];
char
*p;
istrlen(int initial);
int count();
void f1();
};
istrlen::istrlen(int initial){
number=initial;
cin>>a;
p=a;
}
int istrlen::count(){
while(*p!='\0'){
number++;
p++;
}
return number;
}
void istrlen::f1(){
cout<<number<<endl;
}
int main(){
istrlen A(0);
A.count();
A.f1();
system("pause");//DEVC++ make the result clear to see
}
写出代码后就会出现一个问题了,如果我所输入的字符串长度大于我预先定义的呢?
编译可知,编译器是不会报错,但是输出的结果不是你所输入字符串的长度
这时候我就想着用动态内存分配的方法来解决此问题
使用operator new 和 delete 如何实现呢? |