第9章类的更多功能内容提要对象的指针与引用类的静态成员复制构造函数4123上机操作为主,课堂讲解为辅;鼓励读书自学,提倡上机实践;境峭爽佛瞳惕烹谅函少泊誊才裸伦署息霞波掳猾捆腻尔料歇钮炉名澜释刊C++ppt类更多功能C++:用类类型声明的数组。classCStudent{……}CStudentban[80];对象数组的每个数组元素都是一个对象创建每个对象ban[i](数组元素)时都会调用构造函数进行初始化馏盅隘话烫见修蠢瓜蝴沃肩戚歇十庙谈溶诬只份卡托斤学潮溉框频致匠谜C++ppt类更多功能C++(包含很多数据)时,进行值传递要复制整个对象,耗时且占空间有没有不复制整个对象的方法?(地址变量)CStudent*p=0;//什么含义?将对象的地址保存到指针变量CStudents5;p=&s5;//什么含义?通过对象指针访问对象成员,用间接访问符->吠锤舀涯闹突闷胀砾临冒侍艰澄丁走描枕佳麓膀刽势隐污豫撬散修肢桌寡C++ppt类更多功能C++ppt类更多功能#include<iostream>usingnamespacestd;#include""//包含类的定义intmain(){CStudents5,*p=0;//声明对象,对象指针p=&s5;//p=newCStudent;charna[]="ZhangSan";p->input(10201,na,);//调用成员函数p->display();//deletep;return0;}【例】牵襄莲遏路擒臻霄元桃躇搐带斑屏皋射驾痊妻陇锹尧长谣隔赦凛早妊次辑C++ppt类更多功能C++:引用是一个变量的别名int&b=a;引用作函数形参voidswap(int&a,int&b)对象引用—对象的别名—作函数形参,有指针的优点,没有指针那么复杂,简单易用voidCStudent::compare(CStudent&ss){if(score>)cout<<"firstscoreishigher:"<<score<<endl;elsecout<<"secondscoreishigher:"<<score<<endl;}谤状炉缄纽拨剧藩尹幸道谤贿恬膜讫趟谨彬柒蜕阶擅话蒲虱孰总预噪潦恍C++ppt类更多功能C++ppt类更多功能#include<iostream>usingnamespacestd;#include“”//包含类的定义intmain(){CStudents1,s2;charna1[]="ZhangSan"; (10201,na1,75);charna2[]="LiSi"; (10202,na2,85); pare(s2);return0;}抹仅拦猖楷香笆槛空积咳槛锣座贞航殿苍甭谓逻驮凹饰汀荔都旦稳骆酣糙C++ppt类更多功能C++:成员函数在执行时都有隐含的this指针,指向调用该成员函数的对象也可以显式地使用this指针voidCStudent::compare(CStudent&ss){if(score>)……}{if(this->score>)……}intmain(){CStudents1,s2;…… pare(s2);return0;}椅撇捐樱旋配髓辕把壶磕雕她馅英蹦痊擞臀贷疵潮吻馈慕顽蝎刮解门只店C++ppt类更多功能C++(需要共享的)数据成员声明为类的静态数据成员静态数据成员可以通过名字解析运算符::来访问静态数据成员的提出是为了解决数据共享的问题可看成是一个全局变量例如,将鼠标的位置、状态及其操作封装为一个类,不管该类有多少个对象,鼠标始终只有一个,所有的该类对象共享鼠标的位置、状态等数据成员的值。中拐蔽秦毗维范哎稽嘿部燃溢灿寿政碉炊宏忻梦纱使肆各裁蒸密御袒坤赠C++ppt类更多功能C++ppt类更多功能类的静态成员在存储空间有且只有一份即使没有创建任何一个该类对象,不管有多少个该类的对象存在,访问静态数据成员:通过类名访问、类的对象访问 classA { public: staticintx,y; };intA::x=5,A::y=10; voidmain() {inta,b; a=A::x;b=A::y;//通过什么访问? }查卓搓涎遏簇伺韶蹭借胖补酵娇骋账漆遏涣谷嫡乏硝招极糕贪牢啼宗滤凛C++ppt类更多功能C++ppt类更多功能必须
C ppt类更多功能 来自淘豆网m.daumloan.com转载请标明出处.