C++中operate的具体用法是什么?初学c++还有点晕

center_de_han 2008-09-18 10:50:01
class CSrvcBillDtlWBill : public CSrvcBillDtl(这个也是一个类)
{
CSrvcBillDtlWBill & operator=(const CSrvcBillDtlWBill& right)
{
if ( &right == this )
return *this;
CSrvcBillDtl::operator =(right);
copyMember(right);
return *this;
}
}
每一句具体什么意思啊?
...全文
2767 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
pgt112you 2009-05-07
  • 打赏
  • 举报
回复
重载了CSrvcBillDtlWBill类=操作符
drq6772 2009-05-07
  • 打赏
  • 举报
回复
重载赋值运算符=
lunarfan 2009-05-07
  • 打赏
  • 举报
回复
重载操作符
xlblack 2009-05-07
  • 打赏
  • 举报
回复
二元运算的函数!!!
jia_xiaoxin 2008-09-18
  • 打赏
  • 举报
回复
class CSrvcBillDtlWBill : public CSrvcBillDtl(这个也是一个类) //类继承
{
CSrvcBillDtlWBill & operator=(const CSrvcBillDtlWBill& right) //重载赋值操作符
{
if ( &right == this ) //判断是否是同一个对象
return *this; //如果是就返回对象的指针
CSrvcBillDtl::operator =(right); //调用基类的赋值操作
copyMember(right); //拷贝right对象成员到this
return *this; //返回赋值后的对象指针.
}
fengyizi 2008-09-18
  • 打赏
  • 举报
回复

//定义一个类CSrvcBillDtlWBill继承自CSrvcBillDtl
class CSrvcBillDtlWBill : public CSrvcBillDtl
{
//重载=运算符,作为类成员。参数是(this,const CSrvcBillDtlWBill& right),返回该类型的应用
//应用于CSrvcBillDtlWBill a,b; a = b这类情况。
CSrvcBillDtlWBill & operator=(const CSrvcBillDtlWBill& right)
{
//判断地址,如果是同一个对象,则什么什么也不做。返回指向该对象的指针
if ( &right == this )
return *this;
//如果不是则赋值相关成员。从right到this
CSrvcBillDtl::operator =(right);
copyMember(right);
//返回更新了的this指针
return *this;
}
}
太乙 2008-09-18
  • 打赏
  • 举报
回复


if ( &right == this ) //如果是自己给自己赋值,就直接返回
return *this;
CSrvcBillDtl::operator =(right); //调用父类的=操作符重载函数
copyMember(right); //
return *this; //返回this的引用,根据上面举的例子,这个this就是obj1对象!


qqwx_1986 2008-09-18
  • 打赏
  • 举报
回复
class CSrvcBillDtlWBill : public CSrvcBillDtl(这个也是一个类)
{
CSrvcBillDtlWBill & operator=(const CSrvcBillDtlWBill& right)
{
if ( &right == this ) //如果right的地址是自己本身就返回自己
return *this;
CSrvcBillDtl::operator =(right); //否则调用基类CSrvcBillDtl的重载=操作符
copyMember(right); //这个应该是吧拷贝成员 也是赋值过程吧 我猜是不是赋值CSrvcBillDtlWBill新增加的成员变量
return *this;
}
}
太乙 2008-09-18
  • 打赏
  • 举报
回复


class CSrvcBillDtlWBill : public CSrvcBillDtl(这个也是一个类)//继承, CSrvcBillDtlWBill子类,CSrvcBillDtl父类
{
CSrvcBillDtlWBill & operator=(const CSrvcBillDtlWBill& right)//重载=操作符 ,其返回一个CSrvcBillDtlWBill 对象的引用,
//调用的时候是 obj1CSrvcBillDtlWBill = obj2CSrvcBillDtlWBill ,那么obj2就会作为right参数传入,因为在此函数中不会修改right的值,所以一般申明为const,而且不想多余复制临时对象,所以传入的是一个引用,返回的也是一个引用!
{
if ( &right == this )
return *this;
CSrvcBillDtl::operator =(right);
copyMember(right);
return *this;
}
}

blackcat242 2008-09-18
  • 打赏
  • 举报
回复
表示这个类重载了=操作符
operator就表示要重载操作副
yndfcd 2008-09-18
  • 打赏
  • 举报
回复
简单的说,除了类型转换操作符,其它自定义的操作符都有可以看作函数.
lann64 2008-09-18
  • 打赏
  • 举报
回复
楼主需要看看“操作符重载”和“防止自我复制”相关的概念。
zhulinjia 2008-09-18
  • 打赏
  • 举报
回复
重载=操作符
/************************************************* Copyright (C), 2008- , mekinglong of cumtcs File name:面向对象8(面向对象8.cpp) Author: 计07-2 秦杰 Version: 1.00 Date: 08.11.12 Description:编写程序实现一个简单的电话记录簿,要求记录的个人信息包括: 姓名,单位,家庭电话,移动电话。具体功能如下: 1.创建信息链表并以磁盘文件保存。 2.读取磁盘文件并显示输出所有人的移动电话。 3.按姓名或单位查询家庭电话。 4.通过姓名和单位确定个人,修改其电话信息并存盘. Others: .... Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1.main() 完成各种提示与主操作输入输出 History:
适用于C++初学者 /************************************************* Copyright (C), 2008- , mekinglong of cumtcs File name:面向对象8(面向对象8.cpp) Author: 计07-2 秦杰 Version: 1.00 Date: 08.11.12 Description:编写程序实现一个简单的电话记录簿,要求记录的个人信息包括: 姓名,单位,家庭电话,移动电话。具体功能如下: 1.创建信息链表并以磁盘文件保存。 2.读取磁盘文件并显示输出所有人的移动电话。 3.按姓名或单位查询家庭电话。 4.通过姓名和单位确定个人,修改其电话信息并存盘. Others: .... Function List: // 主要函数列表,每条记录应包括函数名及功能简要说明 1.main() 完成各种提示与主操作输入输出 History:

65,194

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧