error C2600: "Ss::operator =": 不能定义编译器生成的特殊成员函数(必须首先在类中声明)

#include<iostream>#include<string>usingnamespacestd;classSs{char*ptr;public:Ss(char*s... #include <iostream>
#include <string>
using namespace std;
class Ss{
char *ptr;
public:
Ss(char * s)
{ ptr=new char[strlen(s)+1];
strcpy_s(ptr,8,s);
}
~Ss( ) { delete ptr; }
Ss & operator=(const string & );
void print( ) { cout<<ptr<<endl; }
};
Ss & Ss::operator=(const Ss &s )
{
if(this==&s) return *this;
delete ptr; ptr=new char[strlen(s.ptr)+1];
strcpy(ptr,s.ptr); return *this;
}
void main(){
Ss p1("Hello");
{
Ss p2("chong qing");
p2=p1;
cout<<"p2:";
p2.print();
}
cout<<"p1:";
p1.print();
}
我是用VC2010编译的
展开
 我来答
mylxhccshhp
推荐于2018-04-21 · TA获得超过136个赞
知道小有建树答主
回答量:79
采纳率:0%
帮助的人:126万
展开全部
class Ss
{
    char *ptr;
public:
    Ss(char * s)
    {
        ptr=new char[strlen(s)+1];
strcpy_s(ptr,8,s);
    }
    ~Ss() { delete ptr; }
    Ss & operator=(const Ss& );// 这里你的声明改成Ss就好了
    void print( ) { cout<<ptr<<endl; }
};
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式