c++ 一个程序运行到一半,无响应,求救?!

来源:百度知道 编辑:UC知道 时间:2024/06/13 15:33:00
#include <iostream.h>
#include <string.h>
class A
{

public:
void add(int a,int b)
{
int t;

t=a+b;
cout<<t<<endl;
}
void add(char *a,char *b)
{

cout<<strcat(a, b)<<endl;
}
};

void main()
{ A obja,objb;
obja.add(1,2);
objb.add("ab","cd");
}
请问,第二add个函数有什么问题吗?

"ab"和"cd"都是const char*类型,是不可改变的,所以我在你的函数入面加入了一个临时变量,我把那段发出来给你
void add(char *a,char *b)
{
char *temp=new char[strlen(a)+strlen(b)+1];
strcpy(temp,a);
cout<<strcat(temp, b)<<endl;
delete[] temp;
}
};
我试过了,应该没有问题

#include <iostream.h>
#include <string>
class A
{

public:
void add(int a,int b)
{
int t;

t=a+b;
cout<<t<<endl;
}
void add(char *a,char *b)
{

cout<<strcat(a, b)<<endl;
}
};

void main()
{ A obja,objb;
obja.add(1,2);
char ch1[10]="ab",ch2[10]="cd";

objb.add(ch1,ch2);
}