求学快递网是国内领先的B2M2C教育培训网上信息平台!

首页 | 分站加盟 | 课程发布 | 最新课程 | 最新机构 | 培训专题 | 全国分站 | 帮助中心

计算机等级考试_计算机等级考试报名_计算机考试成绩查询_求学快递网

计算机等级考试一步到位
您的位置:求学快递网 > 计算机等级考试 > 考试辅导 > 计算机二级 > 计算机C++知识点:类的转换解析 - 正文内容

计算机C++知识点:类的转换解析

计算机C++知识点:类的转换解析

 

求学快递网计算机等级考试专题重点推荐:2016年计算机级考试报考时间 2016年计算机二级考试证书领取时间2016年计算机二级考试报考指南2016年计算机二级考试大纲2016年计算机二级考试政策2016年计算机二级考试报考条件2016年计算机二级考试科目等最新新闻资讯。

 

      类的转换
  上面两个例子都是C++类对象和内部数据对象之间的相互转换。也可以定义转换函数来实现两个类对象之间的相互转换。
  #include iostream.h
  class CustomDate
  {
  public:
  int da, yr;
  CustomDate(int d=0,int y=0) {da=d; yr=y;}
  void display()
  {
  cout< }
  };
  class Date
  {
  int mo, da, yr;
  public:
  Date(int m=0,int d=0,int y=0) {mo=m; da=d; yr=y;}
  Date(const CustomDate&); //转换构造函数
  operator CustomDate(); //成员转换函数
  void display()
  {
  cout< }
  };
  static int dys[] = {31,28,31,30,31,30,31,31,30,31,30,31};
  Date::Date(const CustomDate& jd)
  {
  yr=jd.yr;
  da=jd.da;
  for(mo=0;mo<11;mo++)
  if(da>dys[mo]) da-=dys[mo];
  else break;
  mo++;
  }
  Date::operator CustomDate()
  {
  CustomDate cd(0,yr);
  for(int i=0;i cd.da+=da;
  return cd;
  }
  int main()
  {
  Date dt(12,24,3);
  CustomDate cd;
  cd = dt; //调用成员转换函数
  cd.display();
  dt = cd; //调用转换构造函数
  dt.display();
  return 0;
  }
  这个例子中有两个类CustomDate和Date,CustomDate型日期包含年份和天数。
  这个例子没有考虑闰年情况。但是在实际构造一个类时,应该考虑到所有问题的可能性。
  在Date里中具有两种转换函数,这样,当需要从Date型变为CustomDate型十,可以调用成员转换函数;反之可以调用转换构造函数。
  不能既在Date类中定义成员转换函数,又在CustomDate类里定义转换构造函数。那样编译器在进行转换时就不知道该调用哪一个函数,从而出错.

 

 

关注求学快递网计算机等级考试专题,帮你了解最新的2016年计算机二级考试资讯服务2016计算机二级考试成绩查询,让你轻松备考计算机等级考试!

求学快递网计算机等级考试专题的小编们根据网民搜索喜爱,第一时间公布2016年计算机二级模拟试题2016年计算机二级考试应试技巧计算机二级考试历年真题2016年计算机二级考试章节复习供广大求学爱好者学习使用,欢迎继续关注求学快递网计算机等级考试专题,并给我们提供宝贵的意见!

 

相关推荐

计算机等级考试最新机试技巧
计算机等级考试高效利用技巧

最新计算机资讯

热点专题

计算机等级考试经验技巧分享

关于本站  诚征英才  广告服务  招生服务  免责声明  分站加盟  VIP会员  联系我们  网站地图  网站记事

版权所有 CopyRight 2008-2017 粤ICP备14009694号 www.studyems.com, Inc. All Rights Reserved
违法和不良信息举报邮箱:2881796407@qq.com 举报电话: