Transparancy 4(C++)北大青鸟.ppt
《Transparancy 4(C++)北大青鸟.ppt》由会员分享,可在线阅读,更多相关《Transparancy 4(C++)北大青鸟.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Version 3.0特殊的函数特殊的函数第四章第四章回顾回顾类类成员变量成员变量成员函数成员函数this 指针指针对象数组对象数组2 2目标目标复制构造函数复制构造函数复制赋值操作符复制赋值操作符类型转换构造函数类型转换构造函数类型转换函数类型转换函数3 3复制构造函数复制构造函数 3-1在下列情况,会调用复制构造函数在下列情况,会调用复制构造函数 将某个对象初始化为类的另一个对象时 将对象当作参数传递给函数时 函数返回对象时 4 4复制构造函数复制构造函数 3-2如果没有定义复制构造函数,编译器将自如果没有定义复制构造函数,编译器将自动生成一个动生成一个自动生成的复制构造函数只是将对象内容
2、自动生成的复制构造函数只是将对象内容逐个字节地逐个字节地copy当数据成员有指针时,将导致两个对象的当数据成员有指针时,将导致两个对象的指针指向同一个地址指针指向同一个地址5 5复制构造函数复制构造函数 3-3定义定义以对象的引用作为参数的构造函数以对象的引用作为参数的构造函数X:X(X&ptr)或或X:X(const X&ptr)使用使用 const 关键字,可以确保复制过程不关键字,可以确保复制过程不会意外地更改源对象会意外地更改源对象6 6赋值操作符赋值操作符 4-1默认的赋值操作符只是逐个字节地将源对默认的赋值操作符只是逐个字节地将源对象复制到目标对象象复制到目标对象#include
3、class Var1 int*ptr;public:Var1()ptr=new int;*ptr=0;Var1(int i)ptr=new int;*ptr=i;void show()cout *ptr endl;void main()Var1 s1(20);Var1 s2;s2.show();s2=s1;s2.show();s2的的ptr和和s1的的ptr指到同一个位指到同一个位置置7 7赋值操作符赋值操作符 4-2演示演示默认的赋值操作符默认的赋值操作符8 8赋值操作符赋值操作符 4-3增加:增加:Var1&operator=(const Var1&s)*ptr=*(s.ptr);retu
4、rn*this;两个对象的两个对象的ptr指向不同的位置指向不同的位置9 9赋值操作符赋值操作符 4-4演示自定义赋值操作符演示自定义赋值操作符1010类型转换构造函数类型转换构造函数 4-1基本数据类型基本数据类型 用户自定义类型用户自定义类型 Distance(float m)float f;f=(float)3.28*m;feet=int(f);inches=12*(f-feet);Distance d1=1.25;1111类型转换构造函数类型转换构造函数 4-2演示演示基本数据类型基本数据类型到用户自定到用户自定义类型的转换义类型的转换1212类型转换构造函数类型转换构造函数 4-3用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Transparancy 4C+北大青鸟 北大 青鸟
限制150内