[求助]我刚学操作符重载,下面程序我错在那里啊?高手帮我,谢谢
#include<iostream.h> #include<string.h> class xm { private: char *str;//字符型指针 char xing[20]; char ming[20]; int chd; //拼音长度的缩写 public: xm() { str=0; chd=0; } void getxm(); void showxm(const xm &ss); friend xm operator+(const xm &ss) { xm tmp; tmp.chd=(strlen(ss.xing)+strlen(ss.ming)); tmp.str=new char(chd+1); strcpy(tmp.str,ss.xing); strcat(tmp.str,ss.ming); return(tmp); } }; void xm::getxm() { cout<<"请输入你的姓:"<<endl; cin>>xing; cout<<"请输入你的名:"<<endl; cin>>ming; } void xm::showxm(const xm &ss) { cout<<"你的姓名是:"<<(ss.xing+ss.ming)<<endl; } main() { xm var; var.getxm(); var.showxm(var); return 0; } |