Class &operator=(const Class &); 操作符重载什么意思???
展开全部
修改成如下(这是vc6的问题):
#include <iostream>
using namespace std;
class Str
{
friend ostream &operator << (ostream &output,const Str &num)
{output <<num.k;
return output;
}
friend istream &operator >> (istream &input,Str &in)
{
input.ignore();
input >>in.k;
return input;
}
private:
char *k;
};
#include <iostream>
using namespace std;
class Str
{
friend ostream &operator << (ostream &output,const Str &num)
{output <<num.k;
return output;
}
friend istream &operator >> (istream &input,Str &in)
{
input.ignore();
input >>in.k;
return input;
}
private:
char *k;
};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是赋值运算符重载的标准格式,形参为本类对象的常引用,返回值是本类对象自己的引用可以做左值,只能用类的成员重载
重载赋值运算符用于类中有动态分配成员时,本类对象相互赋值用,为避免C++默认按位赋值方式带来的一系列问题,用户必须重载该函数,习惯上默认的按位赋值称为浅拷贝,有动态分配成员时的复制称为深拷贝。
当然,即使类没有动态分配成员时,也可以重载该赋值运算符,不过不是特殊目的一般多余
重载赋值运算符用于类中有动态分配成员时,本类对象相互赋值用,为避免C++默认按位赋值方式带来的一系列问题,用户必须重载该函数,习惯上默认的按位赋值称为浅拷贝,有动态分配成员时的复制称为深拷贝。
当然,即使类没有动态分配成员时,也可以重载该赋值运算符,不过不是特殊目的一般多余
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询