TreeMind树图在线AI思维导图
当前位置:树图思维导图模板资格考试计算机2020年全国计算机二级考试C++复习知识点:重载赋值运算符思维导图

2020年全国计算机二级考试C++复习知识点:重载赋值运算符思维导图

  收藏
  分享
会员免费下载30积分
会员免费使用30积分
旧街悲巷 浏览量:02023-04-10 17:25:12
已被使用0次
查看详情2020年全国计算机二级考试C++复习知识点:重载赋值运算符思维导图

2020年全国计算机二级考试报名已经开始,准备参加这次考试的小伙伴们接下来就要积极准备2020年的考试了。为此,树图网小编为大家整理了全国计算机二级考试C++复习知识点相关信息,希望能够帮助到大家,了解更多计算机二级考试相关信息敬请关注树图网。

树图思维导图提供 2020年全国计算机二级考试C++复习知识点:重载赋值运算符 在线思维导图免费制作,点击“编辑”按钮,可对 2020年全国计算机二级考试C++复习知识点:重载赋值运算符  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:eb9f8cf896336cee18cf87bbe35635ad

思维导图大纲

2020年全国计算机二级考试C++复习知识点:重载赋值运算符思维导图模板大纲

2020年全国计算机二级考试C++复习知识点:重载赋值运算符

下面的程序中,类中的赋值函数用new运算符从堆中分配了一个不同的指针,该指针获取赋值对象中相应的值,然后拷贝给接受赋值的对象。

在类中重载赋值运算符的格式如下:

void operator = (const Date&)

后面我们回加以改进。目前,重载的运算符函数的返回类型为void。它是类总的成员函数,在本程序红,是Date类的成员函数。它的函数名始终是operator =,参数也始终是同一个类的对象的引用。参数表示的是源对象,即赋值数据的提供者。重载函数的运算符作为目标对象的成员函数来使用。

#include iostream.h

#include string.h

class Date

int mo,da,yr;

char *month;

public:

Date(int m=0, int d=0, int y=0);

~Date();

void operator=(const Date&);

void display() const;

Date::Date(int m, int d, int y)

static char *mos[] =

January,February,March,April,May,June,

July,August,September,October,November,December

mo = m; da = d; yr = y;

if (m != 0)

month = new char[strlen(mos[m-1])+1];

strcpy(month, mos[m-1]);

else month = 0;

Date::~Date()

delete [] month;

void Date::display() const

if (month!=0) cout< char name[25];

cin >> name;

if (strncmp(name, end, 3) == 0) break;

ListEntry* list = new ListEntry(name);

if (prev != 0) prev->AddEntry(*list);

prev = list;

while (prev != 0)

prev->display();

ListEntry* hold = prev;

prev = prev->PrevEntry();

delete hold;

return 0;

程序运行时,会提示输入一串姓名,当输入完毕后,键入end,然后程序会逆序显示刚才输入的所有姓名。

程序中ListEntry类含有一个字符串和一个指向前一个表项的指针。构造函数从对中获取内存分配给字符串,并把字符串的内容拷贝到内存,然后置链接指针为NULL。析构函数将释放字符串所占用的内存。

成员函数PrevEntry()返回指向链表前一个表项的指针。另一个成员函数显示当前的表项内容。

成员函数AddEntry(),它把this指针拷贝给参数的preventry指针,即把当前表项的地址赋值给下一个表项的链接指针,从而构造了一个链表。它并没有改变调用它的listEntry对象的内容,只是把该对象的地址赋给函数的参数所引用的那个ListEntry对象的preventry指针,尽管该函数不会修改对象的数据,但它并不是常量型。这是因为,它拷贝对象的地址this指针的内容给一个非长常量对象,而编译器回认为这个非常量对象就有可能通过拷贝得到的地址去修改当前对象的数据,因此AddEntry()函数在声明时不需要用const。

相关思维导图模板

计算机系统维护方法思维导图

树图思维导图提供 计算机系统维护方法 在线思维导图免费制作,点击“编辑”按钮,可对 计算机系统维护方法  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:bd7f9468d710b62afe9e296eebea668c

广东省全面提升医疗质量行动方案(2023-2025年)思维导图

树图思维导图提供 广东省全面提升医疗质量行动方案(2023-2025年) 在线思维导图免费制作,点击“编辑”按钮,可对 广东省全面提升医疗质量行动方案(2023-2025年)  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:99686138789883f175939e69661fe15a