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

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

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

计算机等级考试一步到位
您的位置:求学快递网 > 计算机等级考试 > 考试辅导 > 计算机二级 > 计算机C++知识点:拷贝构造函数 - 正文内容

计算机C++知识点:拷贝构造函数

计算机C++知识点:拷贝构造函数

 

 

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

  

类的其他几点问题

  一、拷贝构造函数
  拷贝构造函数在下列情况下被调用:用已经存在的对象去初始化同一个类的另一个对象;在函数的参数中,以传值方式传递类对象的拷贝;类对象的值被用做函数的返回值。拷贝构造函数和前面说到的转换构造函数有些相似。转换构造函数是把一个类的对象转化为另一个类的对象;拷贝构造函数是用一个已经存在的对象的值实例化该类的一个新对象。 
  不同对象间的初始化和赋值的区别:赋值操作是在两个已经存在的对象间进行的;而初始化是要创建一个新的对象,并且其初值来源于另一个已存在的对象。编译器会区别这两种情况,赋值的时候调用重载的赋值运算符,初始化的时候调用拷贝构造函数。 
  如果类中没有拷贝构造函数,则编译器会提供一个默认的。这个默认的拷贝构造函数只是简单地复制类中的每个成员。 
   #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(const Date &);
   ~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(const Date & dt)
   { 
   mo = dt.mo; 
   da = dt.da; 
   yr = dt.yr; 
   if (dt.month != 0) 
   { 
   month = new char [strlen(dt.month)+1]; 
   strcpy(month, dt.month); 
   } 
   else 
   month = 0; 
   } 
   Date::~Date() 
   { 
   delete [] month; 
   } 
   void Date::display() const 
   { 
   if (month != 0) 
   cout << month <<" "<< da << , << yr << std::endl;
   } 
   int main() 
   { 
   Date birthday(6,24,1940); 
   birthday.display(); 
   Date newday = birthday; 
   newday.display(); 
   Date lastday(birthday); 
   lastday.display(); 
   return 0; 
   } 
  本例中,用到了两次拷贝构造函数。一个是使用普通的C++初始化变量的语句: 
   Date newday = birthday; 
  另一个是使用构造函数的调用约定,即把初始化值作为函数的参数: 
   Date lastday(birthday);

 

 

 

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

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

相关推荐

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

最新计算机资讯

热点专题

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

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

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