下载此文档

(拷贝构造函数和类的组合).doc


文档分类:高等教育 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
:通过程序代码演示,详细讲解概念,举一反三,让学生理解,拷贝构造函数的作用,调用时机,特点;另外,可以用单步调试的方法,演示,让学生观察程序的执行流程,跟踪观察类的构造函数,拷贝构造函数,析构函数,成员函数的执行顺序。通过列举现实生活中的例子,来讲解什么是类的组合,有什么样的功能,以及组合类的构造函数的特点教学学时2学时教学过程:一拷贝构造函数作用和使用方法作用:用一个已经存在的对象(由拷贝构造函数的参数指定),去初始化同类的一个新对象2形式:是一种特殊的构造函数,其形参为本类的对象的引用。其形式为:类名(类名&对象名)引用的理解:用引用做函数参数,在内存中并没有产生实参的副本,它是直接对实参操作3调用时机普通构造函数在对象创建时自动被调用,而拷贝构造函数在下列三种情况下都会被自动调用a)新建对象时,当用类的一个对象去初始化该类的另一个对象时,系统自动调用拷贝构造函数实现拷贝赋值b)若函数的形参为类对象,调用函数时,实参赋给形参时,系统自动调用拷贝构造函数c)当函数的返回值是类对象时,系统自动调用拷贝构造函数4何时需要自己编写拷贝构造函数a)如果程序员没有为类声明拷贝构造函数,则系统就会在必要时自动生成一个默认的拷贝构造函数。这个默认的拷贝构造函数执行的功能是:把作为初始值对象的每个数据成员都复制到新建立的对象的对应的数据成员中。b)当类的数据成员中有指针类型时,系统提供的默认拷贝构造函数会带来数据安全方面的隐患,此时,必须自己编写拷贝构造函数例1:分析下列程序的运行结果,理解构造函数,析构函数,拷贝构造函数的调用时机(以教材上的时钟类为例)//程序演示://拷贝构造函数的使用#include<>classClock{private: inthour; intminute; intsecond;public: Clock(inth=0,intm=0,ints=0); voiddisplay(); Clock(Clock&obj);//默认拷贝构造函数的形式};Clock:: Clock(inth,intm,ints){hour=h; minute=m; second=s; cout<<"constructcalled"<<endl;}voidClock::display(){ cout<<hour<<":"<<minute<<":"<<second<<endl;}Clock:: Clock(Clock&obj)//默认拷贝构造函数的形式{hour =;minute=;second=;cout<<"copyconstructcalled"<<endl;}voidfun1(Clockobj){ ();}Clockfun2(){ Clockobj(12,34,56); returnobj;}voidmain(void){ Clockone(06,30,30); (); /*Clocktwo(one); //调用时机1:用一个已经存在的对象去初始化另外一个新建的对象 ();*///fun1(o

(拷贝构造函数和类的组合) 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小点
  • 文件大小24 KB
  • 时间2019-02-10