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

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

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

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

计算机C++知识点:类对象数组

计算机C++知识点:类对象数组

 

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

 

类对象数组
  类的对象和C++其他数据类型一样,也可以为其建立数组,数组的表示方法和结构一样。 
   #include iostream.h 
   class Date 
   { 
   int mo,da,yr; 
   public: 
   Date(int m=0,int d=0, int y=0) { mo=m; da=d; yr=y;} 
   void display() const { cout < };
   int main() 
   { 
   Date dates[2]; 
   Date today(12,31,2003); 
   dates[0]=today; 
   dates[0].display(); 
   dates[1].display(); 
   return 0; 
   } 
   1.类对象数组和默认构造函数 
  在前面已经说过,不带参数或者所有参数都有默认值的构造函数叫做默认构造函数。如果类中没有构造函数,编译器会自动提供一个什么都不做的公共默认构造函数 。如果类当中至少有一个构造函数,编译器就不会提供默认构造函数。 
  如果类当中不含默认构造函数,则无法实例化其对象数组。因为实例花类对象数组的格式不允许用初始化值来匹配某个构造函数的参数表。 
  上面的程序中,main()函数声明了一个长度为2的Date对象数组,还有一个包含初始化值的单个Date对象。接着把这个初始化的Date对象赋值给数组中第一个对象,然后显示两个数组元素中包含的日期。从输出中可以看到,第一个日期是有效日期,而第二个显示的都是0。 
  当声明了某个类的对象数组时,编译器会为每个元素都调用默认构造函数。 
  下面的程序去掉了构造函数的默认参数值,并且增加了一个默认构造函数。 
   #include 
   class Date 
   { 
   int mo, da, yr; 
   public: 
   Date(); 
   Date(int m,int d,int y) { mo=m; da=d; yr=y;} 
   void display() const { cout < };
   Date::Date() 
   { 
   cout < mo=0; da=0; yr=0;
   } 
   int main() 
   { 
   Date dates[2]; 
   Date today(12,31,2003); 
   dates[0]=today; 
   dates[0].display(); 
   dates[1].display(); 
   return 0; 
   } 
  运行程序,输出为: 
   Date constructor running 
   Date constructor running 
   12/31/2003 
   0/0/0 
  从输出中可以看出,Date()这个默认构造函数被调用了两次。 
   2.类对象数组和析构函数 
  当类对象离开作用域时,编译器会为每个对象数组元素调用析构函数。 
   #include iostream.h 
   class Date 
   { 
   int mo,da,yr; 
   public: 
   Date(int m=0,int d=0,int y=0) { mo=m; da=d; yr=y;} 
   ~Date() {cout < void display() const {cout< };
   int main() 
   { 
   Date dates[2]; 
   Date today(12,31,2003); 
   dates[0]=today; 
   dates[0].display(); 
   dates[1].display(); 
   return 0; 
   } 
  运行程序,输出为: 
   12/31/2003 
   0/0/0 
   Date destructor running 
   Date destructor running 
   Date destructor running 
  表明析构函数被调用了三次,也就是dates[0],dates[1],today这三个对象离开作用域时调用的。

 

 

 

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

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

 

相关推荐

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

最新计算机资讯

热点专题

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

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

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