《类和对象》PPT课件.ppt
《《类和对象》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《类和对象》PPT课件.ppt(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、参考:参考:C+C+程序设计教程程序设计教程 p106p110p106p110第六讲第六讲 类和对象(类和对象(5)C+本次议题本次议题对象数组对象及对象成员与指针q指向对象的指针qthis指针q对象的const指针对象引用及对象的常引用对象作为函数参数C+对象数组对象数组回忆我们曾经学过的数组int iarr3;struct student sarr3;int*p3;int(*p)3)5;void(*p5)(int x,int y);类型相同的变量的集合C+对象数组对象数组1 1、概念:、概念:如果数组元素都为类类型,我们把这样的数组成为对象数组string arr9;C+2 2、声明:、声
2、明:对象数组对象数组类名 数组名元素个数;类名 数组名行数列数;new 类名元素个数;new 类名行数列数;多维数组的格式与此类似C+对象数组对象数组3 3、初始化:、初始化:回忆内置类型数组的初始化方式方式例例栈区栈区全局区全局区全部int a3=1,2,3;部分int a3=1,2;省略长度int a=1,2,3;堆区堆区int*p=new int3;delete p;int*p=new int3();/delete p;DEMO 9_0DEMO 9_0C+对象数组对象数组对象数组的初始化方式方式例例栈区栈区全局区全局区全部Point arr2=Point(1,1),Point(2,2);
3、部分Point arr2=Point(1,1);省略长度Point arr=Point(1,1),Point(2,2);默认Point arr3;堆区堆区point*p=new Point2;C+对象数组对象数组 注意注意 堆对象数组不能显示初始化Point*p=new Point3(Point(1,2),Point(2,2);一个数组元素就是一个对象,数组元素引用成员的方法与对象相同cout getX():getY();cout (*p).getX():(*p).getY();cout arr0.getX():成员法三、法三、(对象数组名+下标)-成员 (*(对象数组名+下标).成员 对象数
4、组名下标.成员C+指向对象的指针指向对象的指针9_1.class Pointpublic:Point(double aX=0,double aY=0);Point();double GetX();double GetY();private:double m_dX;double m_dY;double Point:GetX()return m_dX;double Point:GetY()return m_dY;Point:Point(double aX,double aY)m_iX=aX;m_iY=aY;cout Executing Constructor.endl;Point:Point()c
5、out Executing Destructor.endl;int main()Point array3=Point(3,4),Point(5,8);Point*p=array;for(;parray+3;p+)cout (GetX(),(*p).GetY()getX();/常指针只能引用常成员函数常指针只能引用常成员函数/指向常量的指针指向常量的指针Point*const KKp2=&obj;Point*const KKp1=&Kobj;/ErrorDEMO 9_12声明:声明:与内置类型的const指针规则同C+本次议题本次议题对象数组对象及对象成员与指针q指向对象的指针q对象的const
6、指针qthis指针对象引用及对象的常引用对象作为函数参数C+this指针指针每个对象中的数据成员都分别占有存储空间,如果对同一个类定义了N个对象,则有N组同样大小的空间以存放N个对象中的数据成员,但是不同的对象都调用同一个函数代码段。那么,当不同对象的成员函数引用成员员时,怎么能保证引用的是指定对象的数据成员呢?为了确定究竟是哪个对象在引用当前成员函数,C+引入了this指针问题的产生:问题的产生:C+this指针指针什么是什么是this指针:指针:指向当前对象的指针变量,每个成员函数都含有一个指向本类对象的this指针。DEMO 9_2C+this指针指针对象在内存中分配空间的顺序为:先定义
7、的对象占高字节,后定义的对象占低字节C+this指针指针注意:注意:引用成员函数时,在成员函数的参数表中会自动添加一个该对象的指针a1.Print(&a1);系统会为每个一成员函数自动添加一个this指针void A:Print(A*this)this指针不能显示的定义,我们只能使用它,通常如果希望成员函数返回本类对象或者本对象地址时显示的使用this指针this指针主要用于运算符重载 DEMO stringC+this指针指针如果成员函数返回本类对象的引用或指针则访问成员的方式有些特殊class Atestpublic:Atest&print1()cout print1 endl;retur
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 类和对象 对象 PPT 课件
限制150内