急!C++这是哪里出问题?

来源:百度知道 编辑:UC知道 时间:2024/06/18 14:06:21
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

class plus
{
public:
plus operator +(const plus & a)
{return a.first+a.second;}
plus operator =(const plus & a){this->third=(a.first+a.second);return * this;}

string first;
string second;
string third;
};
int main()
{
plus myplus={"AB","CD"};
myplus.third=myplus.first+myplus.second;
cout<<myplus.third
<<endl;
return 0;
}
我想写个类,有用到运算符重载,把字符串连接起来,这里调试总是有错,哪里错了。
如果还有跟好的写法,请告诉我,我在另外加分。。
就是要写个类,如果里面有字符串a=“AB”,b="CD",c的话
"AB"+"CD"能实现
c=“ABCD”

C++ 里面已经重载的+和=,另不需要再重载。。我改过了,只要把中间的重载去掉就可以啦代码如下:
//#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

class plus
{

public:
plus(string s1,string s2,string s3):first(s1),second(s2),third(s3) {}

/* plus operator +(const plus &a)
{
strcat(this->th,a.first);
strcat(a.third,a.second);
return a.third;
}
plus operator = (const plus & a)
{
this->third=(a.first+a.second);
return * this;
}
*/
string first;
string second;
string third;
};

int main()
{
plus myplus("AB","CD","\0");
myplus.third=myplus.first+myplus.second;
cout<<myplus.third
<<endl;
return 0;
}

Cannot open include file: 'stdafx.h': No such file or dir