首页 > 编程语言 > 详细

C++学习(23)

时间:2018-07-01 18:46:56      阅读:218      评论:0      收藏:0      [点我收藏+]
 1 //对于派生类对基类成员函数覆盖来说,调用成员函数的对象在程序编译时就已确定,即要么是基类对象,要么是派生类对象,只能属于固定的一种,不能在程序运营时改变
 2 //但对于虚函数来说,调用成员函数的对象要在程序运行时才能确定,要根据对象指针当前指向的对象是基类对象还是派生类对象,来决定当前
 3 //调用的成员函数是基类的成员函数还是派生类的成员函数
 4 //下面是例子
 5 #include<iostream.h>
 6 
 7 class A{
 8     public:
 9         A(){}
10         ~A(){}
11         virtual void f1()const{
12             cout<<"基类成员函数f1()"<<endl;
13         }
14         void f2()const{
15             cout<<"基类成员函数f2()"<<endl;
16         }
17 };
18 
19 class B:public A{
20     public:
21         B(){}
22         ~B(){}
23         virtual void f1()const{
24             cout<<"派生类成员函数f1()"<<endl;
25         }
26         void f2()const{
27             cout<<"派生类成员函数f2()"<<endl;
28         }
29 };
30 
31 int main(){
32     A *pa;
33 
34     A myA;
35     B myB;
36 
37     pa=&myA;
38     pa->f1();
39     pa->f2();
40     
41     pa=&myB;
42     pa->f1();
43     pa->f2();
44 
45 
46     return 0;
47 }

 

技术分享图片

C++学习(23)

原文:https://www.cnblogs.com/Tobi/p/9250713.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!