Chinaunix首页 | 论坛 | 博客
  • 博客访问: 108683
  • 博文数量: 87
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 636
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-22 19:31
文章分类

全部博文(87)

文章存档

2015年(33)

2014年(37)

2013年(17)

我的朋友

分类: C/C++

2013-12-05 17:35:24

c++自动提供了下面这些成员函数
1)默认构造函数
2)复制构造函数
3)复制操作符------ 将已有对象赋给另一个对象时,使用重载的赋值操作符
4)默认析构函数
5)地址操作符函数-------- 隐式地址操作符返回调用对象的地址(即this指针的值)

当函数按值传递对象时或函数返回对象时,都使用复制构造函数,但按引用传递时不是这样   如:Stock  stock1; void callme(Stock a)
复制如:Stock stock1; Stock stock2 = stock1;

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
默认的复制函数逐个复制非静态成员(成员复制称为浅复制)复制的是成员的值
如 StringBad sports;   StringBad sailor = sports <<===>>//char *str/len(类中的成员)    StirngBad sailor; sailor.str = sports.str; sailor.len = sports.len;

warning : 如果类中包含了使用new初始化的指针成员,则应当定义一个复制构造函数,以复制指向数据而不是指针,这被称为深复制,浅复制只是复制指针的值;;;;



阅读(497) | 评论(0) | 转发(0) |
0

上一篇:构造函数

下一篇:基类和派生类

给主人留下些什么吧!~~