救命!!!C++程序改错

来源:百度知道 编辑:UC知道 时间:2024/05/03 04:36:59
#include <iostream>
#include<string>
using namespace std;
class String
{ public:
String(char *p);
int Lenth() ;
char*get( );
void change( char*);
void display( );
protected :
char a[30];
int lenth;
};

String::String(char * p) {strcpy(a,p); lenth=strlen(a);}

int String::Lenth()
{lenth=strlen(a); return lenth;}
void String::change(char*p) { lenth=lenth+strlen(p);}

char * String::get( )
{ return a;}

void String::display( )
{cout<<a;}

class edit_string : public String
{ public:
void move( int);
void insert(char*);
void replace(char,char );
edit_string(char*p):String(p) {mouse=0;}

private:
int mouse;

};

void edit_string ::move( int e )
{mouse=e;}

void edit_string ::insert(char* p)
{ int w,i=0;
for(w=len

void edit_string ::insert(char* p)
{ int w,i=0;
for(w=lenth;w>=mouse;w--)
a[w]=a[w-1];
for(;p!='\0';p++)
a[mouse-1+i++]=*p; change(p);
}

改为

void edit_string ::insert(char* p)
{ int w,i=0;
for(w=lenth;w>=mouse;w--)
a[w+mouse]=a[w-1];
for(;*p!='\0';p++)//注意这里
a[mouse-1+i++]=*p; change(p);
}