C++求指教 class类的面向对象
2.定义一个字符串类STR,实现将指定字符串中第n1个字符起的n2个字符替换为第二个字符串。具体要求如下:(1)私有数据成员lchar*st1,*st2,*st;st1为...
2.定义一个字符串类STR,实现将指定字符串中第n1个字符起的n2个字符替换为第二个字符串。
具体要求如下:
(1)私有数据成员
l char *st1,*st2,*st;st1为源字符串,st2为用于替换的字符串,st为替换后的新字符串。
l int n1,n2;n1为st1中开始替换的字符序号,n2为替换的字符个数。
(2)公有成员函数
l STR(char *s1,inta1,int a2,char *s2):构造函数,初始化各成员数据。
l void fun( ):功能函数,完成字符替换。要求不使用系统提供的字符串处理函数。
l void print( ):功能函数,输入各成员数据。
l ~STR( ):析构函数,释放动态内存。
#include<iostream.h>
class STR{
char *st1,*st2,*st;
int n1,n2;
public:
STR(char *s1,int a1,int a2,char *s2);
void fun( );
void print( );
};
STR::STR(char *s1,int a1,int a2,char *s2)
{
*s1=*st1,*s2=*st2;
a1=n1,a2=n2;
}
void STR::fun()
{
char *p2=&s1[2],*p3=&s2[0];
for(int i=0;i<4;i++)
{*p2=*p3;
p2++,p3++,i++;}
}
void STR::print()
{
int len=0;
int *p=s1;
while(*p){
len++;
p++;
};
for(int i=0;i<len;i++)
cout<<s1[i]<<endl;
}
void main()
{
char x,y;
int m,n;
cout<<"请输入主串与子串:";
cin>>x>>y;
cout<<"请输入开始替换的字符序号及替换的字符个数:";
cin>>m>>n;
STR test(x,m,n,y);
cout<<"st1="<<x<<endl;
cout<<"n1="<<m<<'\t'<<"n2="<<n<<endl;
cout<<"st2="<<y<<endl;
test.fun();
test.print();
}
提示说好多问题 比如s1 s2不能识别 展开
具体要求如下:
(1)私有数据成员
l char *st1,*st2,*st;st1为源字符串,st2为用于替换的字符串,st为替换后的新字符串。
l int n1,n2;n1为st1中开始替换的字符序号,n2为替换的字符个数。
(2)公有成员函数
l STR(char *s1,inta1,int a2,char *s2):构造函数,初始化各成员数据。
l void fun( ):功能函数,完成字符替换。要求不使用系统提供的字符串处理函数。
l void print( ):功能函数,输入各成员数据。
l ~STR( ):析构函数,释放动态内存。
#include<iostream.h>
class STR{
char *st1,*st2,*st;
int n1,n2;
public:
STR(char *s1,int a1,int a2,char *s2);
void fun( );
void print( );
};
STR::STR(char *s1,int a1,int a2,char *s2)
{
*s1=*st1,*s2=*st2;
a1=n1,a2=n2;
}
void STR::fun()
{
char *p2=&s1[2],*p3=&s2[0];
for(int i=0;i<4;i++)
{*p2=*p3;
p2++,p3++,i++;}
}
void STR::print()
{
int len=0;
int *p=s1;
while(*p){
len++;
p++;
};
for(int i=0;i<len;i++)
cout<<s1[i]<<endl;
}
void main()
{
char x,y;
int m,n;
cout<<"请输入主串与子串:";
cin>>x>>y;
cout<<"请输入开始替换的字符序号及替换的字符个数:";
cin>>m>>n;
STR test(x,m,n,y);
cout<<"st1="<<x<<endl;
cout<<"n1="<<m<<'\t'<<"n2="<<n<<endl;
cout<<"st2="<<y<<endl;
test.fun();
test.print();
}
提示说好多问题 比如s1 s2不能识别 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询