C++面向对象程序设计--技能培训四

C++面向对象程序设计--技能培训四

ID:43337901

大小:1.00 MB

页数:41页

时间:2019-10-08

C++面向对象程序设计--技能培训四_第1页
C++面向对象程序设计--技能培训四_第2页
C++面向对象程序设计--技能培训四_第3页
C++面向对象程序设计--技能培训四_第4页
C++面向对象程序设计--技能培训四_第5页
资源描述:

《C++面向对象程序设计--技能培训四》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、主讲人:曹宣俊C++面向对象程序设计2021/7/18目录静态成员类成员指针this指针子对象堆对象常对象函数模板类模板2021/7/18类静态成员静态成员分为:静态数据成员和静态成员函数静态数据成员静态数据成员是类的所有对象共享的成员,而不是某个对象的成员。使用静态数据成员可以节省内存,因为它是所有对象所共有的,只需存储一处,供所有对象共用。静态数据成员的值对每个对象都是一样的,但是它的值是可以更新的。2021/7/18静态数据成员定义方法1,在一般数据成员前加关键字static2,静态数据成员初始化与一般数据成员初始化

2、不同。其初始化如下:数据类型类名::静态数据成员名=值;这说明:初始化在类体外进行,而前面不加static,以免与一般静态变量或对象相混淆。初始化时不加该成员的访问权限控制符private,public等初始化时使用作用域来表明它所属的类静态成员必须进行初始化。引用静态数据成员时,既可以通过对象引用,也可以采用如下格式:类名::静态数据成员名2021/7/18示例程序classA{staticinta;};voidmain(){cout<

3、cout<

4、public:Sample(inti){n=i;m+=i;}Staticvoiddisp(Samplec){cout<<“n=”<

5、员指针一般定义格式如下:类型类名::数据成员指针名由于类不是运行时存在的对象,因此,使用类数据成员指针时,需要首先指定类的一个数据成员,然后通过类的对象来引用指针所指向的成员。2021/7/18示例程序(类数据成员指针)classSample{public:voiddisp(){cout<<“m=”<

6、21/7/18类成员函数指针指向类成员函数的指针定义格式如下:类型(类名::*成员函数指针名)(参数表)给类成员函数指针赋值的格式如下:指向成员函数的指针名=函数名程序中使用指向函数的指针调用函数的格式如下:(*指向函数的指针名)(实参表)2021/7/18示例程序classSampl{private:intn,m;public:voidsetm(inti){n=i;}voidsetn(inti){n=i;}voiddisp(){cout<<“n=”<

7、d(Sample::*pfub)(int);Samplea;pfun=Sample::setm;(a.*pfun)(10);//等价于a.setm(10);}2021/7/18this指针在设计好一个类后,通过定义类对象来调用类的成员函数,其使用格式为:对象.成员函数在C++中,每个当前对象都隐含一个指向该对象的指针,即this指针。显然,this指针的类型就是成员函数所属的类的类型2021/7/18示例程序classSampl{private:intn;public:Sample(intm){n=m;}voidaddva

8、lue(intm){Samples;s.n=n+m;*this=s;}voiddisp(){cout<<“n=”<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。