TreeMind树图在线AI思维导图
当前位置:树图思维导图模板资格考试计算机全国计算机二级C++考试复习知识点(三)思维导图

全国计算机二级C++考试复习知识点(三)思维导图

  收藏
  分享
免费下载
免费使用文件
L . 浏览量:32022-11-06 00:01:01
已被使用0次
查看详情全国计算机二级C++考试复习知识点(三)思维导图

全国计算机二级C++考试复习知识点(三)

树图思维导图提供 全国计算机二级C++考试复习知识点(三) 在线思维导图免费制作,点击“编辑”按钮,可对 全国计算机二级C++考试复习知识点(三)  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:37914dbc17c083c409d342b479987cf9

思维导图大纲

全国计算机二级C++考试复习知识点(三)思维导图模板大纲

析构函数

 当一个类的对象离开作用域时,析构函数将被调用(系统自动调用)

析构函数的名字和类名一样,不过要在前面加上 ~

对一个类来说,只能允许一个析构函数,析构函数不能有参数,并且也没有返回值

析构函数的作用是完成一个清理工作,如释放从堆中分配的内存

转换构造函数

 当一个构造函数仅有一个参数,且该参数是不同于该类的一个数据类型,这样的构造函数就叫转换构造函数

转换构造函数把别的数据类型的对象转换为该类的一个对象

成员转换函数

 成员转换函数把该类的对象转换为其他数据类型的对象

在成员转换函数的声明中要用到关键字operator

 operator aaa();

aaa就是要转换成的数据类型的说明符

这里的类型说明符可以是任何合法的C++类型,包括其他的类

转换函数的调用

 C++里调用转换函数有三种形式

第一种是隐式转换

编译器需要一个Date对象,而程序提供的是CustomDate对象,编译器会自动调用合适的转换函数

两种都是需要在程序代码中明确给出的显式转换

C++强制类型转换是一种,还有一种是显式调用转换构造函数和成员转换函数

转换发生的情形

参数传递

 初始化

 返回值

表达式语句

表达式内部的转换

在表达式内部,如果发现某个类型和需要的不一致,就会发生错误

下面的程序是把Date对象转换成长整型值

#include iostream.h   class Date   {   int mo, da, yr;   public:   Date(int m,int d,int y)   {   mo=m; da=d; yr=y;   }

  operator long();   };   Date::operator long()   {   static int dys[]={31,28,31,30,31,30,31,31,30,31,30,31};   long days=yr;   days*=365;   days+=(yr-1900)/4; //从1900年1月1日开始计算   for(int i=0;i days+=da;   return days;   }

 int main()   {   Date today(12,24,2003);   const long ott=123;   long sum=ott+today;   cout< return 0;   }

当需要转换的对象可以转换成某个数字类型,或者表达式调用了作用于某个类的重载运算符时,就会发生隐式转换

相关思维导图模板

904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查思维导图

树图思维导图提供 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查 在线思维导图免费制作,点击“编辑”按钮,可对 904名中国成年人第三磨牙相关知识、态度、行为和病史的横断面调查  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:10b9a8a2dd2fb4593f8130ef16c320fc

Linux 网络基础知识思维导图

树图思维导图提供 Linux 网络基础知识 在线思维导图免费制作,点击“编辑”按钮,可对 Linux 网络基础知识  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:199680f0e48eac8a1aeaadb90447d4f4