友元虚函数静态成员.ppt

友元虚函数静态成员.ppt

ID:49215793

大小:64.00 KB

页数:12页

时间:2020-02-01

友元虚函数静态成员.ppt_第1页
友元虚函数静态成员.ppt_第2页
友元虚函数静态成员.ppt_第3页
友元虚函数静态成员.ppt_第4页
友元虚函数静态成员.ppt_第5页
资源描述:

《友元虚函数静态成员.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、友元函数、虚函数、静态成员1.1友元函数的说明及使用如果在一个类中用关键字friend对一个不属于该类的外部函数进行说明,则该外部函数就成为该类的友元函数,它可以访问该类的任何成员。1友元函数#include classA{inta,b; friendvoidprint(A); public: A(intx,inty){a=x;b=y;} friendvoidshow(A*p) {cout<a<<''<b<<'';}};voidprint(At) {cout<

2、idmain() {Aa1(10,20); print(a1); show(&a1); }1.2友元成员函数及友元类一个类的友元函数可以是另一个类的成员函数,并且,如果将一个类说明为某类的友元类,则友元类的所有成员函数均为该类的友元函数。voidA::addB(B&t) {a+=t.a;b+=t.b;}voidA::print(B&t) {addB(t);cout<

3、lude classB{inta,b;public:voidprint() {cout<

4、C++中的虚函数主要用来实现程序运行的多态性。所谓多态性是指发出同样的消息(如函数的调用)被不同类型的对象接收时导致不同的行为。VC++的多态性有两种:动态多态性和静态多态性。2.1虚函数的定义及使用定义类的成员函数时,如果使用关键字“virtual”来修饰,则表示将该函数说明为虚函数。虚函数一定是类的成员函数,其多态性要通过类的继承关系来实现。如果将类中的函数说明为虚函数,则该类的派生类中相同原型的函数(同名,且参数类型、顺序及个数都相同)均具有虚特性而不管其是否用关键字”virtual”修饰。虚函数主要用来实现程序的动态多态性。classA{ public: v

5、irtualvoidf1() {cout<<“A::f1()”<f1(); pa=&b1; pa->f1(); }关于虚函数时,有以下几点说明:(1)虚函数用于不同的有继承关系的类中的相同原型的函数(同名,且参数类型、顺序及个数都相同),仅函数名相同则属于函数的重载;单独的一个虚函数没有实际意义。(2)虚函数的多态性必须

6、通过相同的指针来实现,通过对象名来调用虚函数不能体现虚函数多态性。一般来说,实现虚函数的多态性是通过基类的指针指向不同的对象来处理虚函数的。(3)虚函数是类的成员函数,但不能是静态成员函数,更不能是友元函数。友元函数不是类的成员。(4)如果派生类中没有重新定义虚函数,则不能体现虚函数的多态性。classA{ public: virtualvoidf1() {cout<<“A::f1()”<

7、voidf4() {cout<<“A::f4()”<f1();pa->f2();pa->f3(5);pa->f4(); }ClassB:publicclassA{ public: virtualvoidf1() {cout<<“B::f1()”<

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

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

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