下载此文档

拷贝构造函数精要.ppt


文档分类:IT计算机 | 页数:约23页 举报非法文档有奖
1/23
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/23 下载此文档
文档列表 文档介绍
Designed by Ruifang ZHAI 华中农业大学计算机科学与技术系 C++ 程序设计 C++ Programming 翟瑞芳 Email: ******@. Email: ******@. Office: Office: 逸夫楼逸夫楼 B407-1 B407-1 Designed by Ruifang ZHAI 华中农业大学计算机科学与技术系拷贝构造函数拷贝构造函数一、拷贝构造函数 P109 二、浅拷贝与深拷贝 P226 Designed by Ruifang ZHAI 华中农业大学计算机科学与技术系一、拷贝构造函数一、拷贝构造函数一、拷贝构造函数?拷贝构造函数:具有构造函数的所有特性,形参是本类对象的引用。?使一个已经存在的对象,去初始化一个新对象。创建新对象 A时,若用另一个对象 B 来初始化,需使用复制(拷贝)构造函数将B的值传给 A。 Rect rec1, rec2(2,4,6,2); Rect rec3=rec1, rec4(rec2); Designed by Ruifang ZHAI 华中农业大学计算机科学与技术系有关拷贝构造函数形参的讨论①传值型: Rect(Rect r) ②指针型: Rect(const Rect * r) ③引用型: Rect(const Rect &r) 用实参(已经存在的对象)初始化形参(新创建的对象), 本身需要拷贝构造函数,形成逻辑上的循环定义。× × 用对象的地址作实参,而非对象作实参。× × 用对象作实参初始化引用型形参,但并不新创建对象。用 const 限制可保护实参不被函数体修改。√√拷贝构造函数的形参为本类对象的引用一、拷贝构造函数一、拷贝构造函数 Designed by Ruifang ZHAI 华中农业大学计算机科学与技术系 2 °若类中未定义拷贝构造函数,系统会自动生成一个默认拷贝构造函数: 类名(类名&x){ * this=x; } 特性: 1°用拷贝构造函数创建对象时,不会调用其他构造函数。 3°每个类有且仅有一个拷贝构造函数,且不能重载。一、拷贝构造函数一、拷贝构造函数 Designed by Ruifang ZHAI 华中农业大学计算机科学与技术系特性: 4°使用拷贝构造函数创建对象常见的三种场合: (1) 创建新对象时(2) 调用函数时(3) 函数返回对象时在函数设计中,使用引用型形参、引用返回类型,可避免拷贝构造对象。一、拷贝构造函数一、拷贝构造函数 Designed by Ruifang ZHAI 华中农业大学计算机科学与技术系 Class Point{ public: Point (int xx=0, int yy=0) { //constructor; x = xx; yy = yy;} Point( Point &p); //copy constructor; int getX() { return x; } int getY() { return y; } private: int x, y; }; Point::Point(Point &p){ x = ; y = ; cout<<()<<en dl; } 一、拷贝构造函数一、拷贝构造函数 Designed by Ruifang ZHAI 华中农业大学

拷贝构造函数精要 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息