TreeMind树图在线AI思维导图
当前位置:树图思维导图模板资格考试计算机2020年12月计算机二级C++复习资料:私有数据成员和友元思维导图

2020年12月计算机二级C++复习资料:私有数据成员和友元思维导图

  收藏
  分享
免费下载
免费使用文件
暖橙 浏览量:22023-04-10 16:22:21
已被使用0次
查看详情2020年12月计算机二级C++复习资料:私有数据成员和友元思维导图

备考2020年12月计算机二级C++的小伙伴看过来,树图网(环球青藤旗下品牌)小编已帮你把2020年12月计算机二级C++复习资料整理好,具体可以看看“2020年12月计算机二级C++复习资料:私有数据成员和友元”,希望对你有所帮助,其他更多内容敬请关注树图网。

树图思维导图提供 2020年12月计算机二级C++复习资料:私有数据成员和友元 在线思维导图免费制作,点击“编辑”按钮,可对 2020年12月计算机二级C++复习资料:私有数据成员和友元  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:407fd4630532eae803bb7e050b92f09b

思维导图大纲

2020年12月计算机二级C++复习资料:私有数据成员和友元思维导图模板大纲

一、私有数据成员的使用

1.取值和赋值成员函数

面向对象的约定就是保证所有数据成员的私有性。一般我们都是通过公有成员函数来作为公共接口来读取私有数据成员的。某些时候,我们称这样的函数为取值和赋值函数。

取值函数的返回值和传递给赋值函数的参数不必一一匹配所有数据成员的类型。

#include iostream.h

class Date

int mo, da, yr;

public:

Date(int m,int d,int y) { mo=m; da=d; yr=y; }

int getyear() const { return yr; }

void setyear(int y) { yr = y; }

int main()

Date dt(4,1,89);

cout< dt.setyear(97);

cout< return 0;

上面的例子很简单,不分析了。要养成这样的习惯,通过成员函数来访问和改变类中的数据。这样有利于软件的设计和维护。比如,改变Date类内部数据的形式,但仍然用修改过的getyear()和setyear()来提供访问接口,那么使用该类就不必修改他们的代码,仅需要重新编译程序即可。

2.常量成员函数

注意上面的程序中getyear()被声明为常量型,这样可以保证该成员函数不会修改调用他的对象。通过加上const修饰符,可以使访问对象数据的成员函数仅仅完成不会引起数据变动的那些操作。

如果程序声明某个Date对象为常量的话,那么该对象不得调用任何非常量型成员函数,不论这些函数是否真的试图修改对象的数据。只有把那些不会引起数据改变的函数都声明为常量型,才可以让常量对象来调用。

3.改进的成员转换函数

下面的程序改进了从Date对象到CustomDate对象的成员转换函数,用取值和赋值函数取代了使用公有数据成员的做法。(以前的程序代码在上一帖中)

#include iostream.h

class CustomDate

int da,yr;

public:

CustomDate() {}

CustomDate(int d,int y) { da=d; yr=y; }

void display() const {cout< int getday() const { return da; }

void setday(int d) { da=d; }

class Date

int mo,da,yr;

public:

Date(int m,int d,int y) { mo=m; da=d; yr=y; }

operator CustomDate() const;

Date::operator CustomDate() const

static int dys[] = {31,28,31,30,31,30,31,31,30,31,30,31};

CustomDate cd(0,yr);

int day=da;

for(int i=0;i cd.setday(day);

return cd;

int main()

Date dt(11,17,89);

CustomDate cd;

cd=dt;

cd.display();

return 0;

注意上面的程序中Date::operator CustomDate()声明为常量型,因为这个函数没有改变调用它对象的数据,尽管它修改了一个临时CustomDate对象并将其作为函数返回值。

相关思维导图模板

进阶面试题总结思维导图

树图思维导图提供 进阶面试题总结 在线思维导图免费制作,点击“编辑”按钮,可对 进阶面试题总结  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:fac4f2eaa7b9b4cfd44ba29e73117dbe

选必三第一单元思维脑图思维导图

树图思维导图提供 选必三第一单元思维脑图 在线思维导图免费制作,点击“编辑”按钮,可对 选必三第一单元思维脑图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:d81d57515729b7a9721fdaef01bc7bf6