下载此文档

拷贝构造函数.ppt


文档分类:高等教育 | 页数:约26页 举报非法文档有奖
1/26
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/26 下载此文档
文档列表 文档介绍
C++的拷贝构造函数
深入理解拷贝构造函数
版权声明
该文档参考了郑秋生主编的《C/C++程序设计教程-----面向对象分册》,并加入了本人自己的理解,如果有错误或者理解不恰当的地方,还望指出
拷贝构造函数
C++允许同型变量之间的赋值,例如,int a = 100; int b = a;
对象是一种复杂的类类型,很多时候我们需要用一个对象去创建另外一个对象,或者将一个对象赋值给另一个对象,这时就需要用到拷贝构造函数。
拷贝构造函数的定义格式
拷贝构造函数的定义格式如下:
类名::拷贝构造函数名(类名& 引用名)
例如:
Cdate::Cdate(Cdate & c)
//形参是对象的引用
Cstring(const Cstring & str)
//形参是一个const的对象引用
调用拷贝构造函数的情形
通常在以下三种情况下,需要调用拷贝构造函数:
(1)明确表示由一个对象初始化另一个对象,如Cdate day(d1)。
(2)当对象作为函数实参传递给函数形参时,如fun(Cdate d1)。
(3)当对象作为函数的返回值,创建一个临时对象。
Example 1
设计一个复数类,两个数据成员分别表示虚数的实部和虚部。
两个构造函数分别在不同的情况下初始化对象,add函数完成两个虚数的加法,print函数用于输出函数。


#ifndef _COMPLEX_H
#define _COMPLEX_H
plex
{
public:
Complex(double r,double i);
plex &c);
Complex plex c);
void print(void);
private:
double real,image;
};
#endif

#"
#include<>
Complex::Complex(double r,double i):real(r),image(i)
{
cout<<"调用两个参数的构造函数"<<endl;
}
Complex::plex &c)
{
real = ;
image = ;
cout<<"调用拷贝构造函数"<<endl;
}

plex::print(void)
{
cout<<"("<<real<<","<<image<<")"<<endl;
}
plex::plex c)
{

Complex y(real + ,image + );
return y;
}

void plex n)
{
cout<<“n=";
();
}

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

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数26
  • 收藏数0 收藏
  • 顶次数0
  • 上传人drp539602
  • 文件大小0 KB
  • 时间2015-05-30