64,995
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
class jia
{
public:
jia(char *stl)
{
strncpy(str,stl,4);
str[4]='\0';
}
//jia operator+(const jia & );
void show();
private:
char str[5];
};
/*
jia jia::operator+(jia) //这个你分配好空间了,不宜这样做。
{
jia A,B;
return strcat(A.str,B.str);
}
*/
void jia::show()
{
cout <<str <<endl;
}
int main()
{
jia A="abcd";
jia B="efgh";
A.show();
B.show();
//(A+B).show();
return 0;
}
#include <string.h>
class jia
{
public:
jia(char stl[5]);
char* operator+(jia B);
void show();
private:
char str[5];
};
jia::jia(char stl[5])
{
strcpy(str,stl);
}
char* jia::operator+(jia B)
{
return strcat(str,B.str);
}
void jia::show()
{
cout <<str <<endl;
}
void main()
{
jia A("abcd");
jia B("efgh");
A.show();
B.show();
cout<<A+B<<endl;
}
//勉强是可以了,
#include <iostream>
#include <string.h>
using namespace std;
class jia
{
public:
jia(){}
jia(char stl[5]);
jia operator+(jia );
void show();
private:
char str[5];
};
jia::jia(char stl[5])
{
strcpy(str,stl);
}
jia jia::operator+(jia)
{
jia A,B;
return strcat(A.str,B.str);
}
void jia::show()
{
cout <<str <<endl;
}
void main()
{
jia A="abcd";
jia B="efgh";
A.show();
B.show();
(A+B).show();
}