虚函数复习3

#include<iostream.h>
class base
{
public:
 virtual void fun1(){cout<<"base fun1"<<endl;}
 virtual void fun2(){cout<<"base fun2"<<endl;}
 void fun3(){cout<<"base fun3"<<endl;}
 void fun4(){cout<<"base fun4"<<endl;}

};
class derived: public base
{
public:
 virtual void fun1(){cout<<"derived fun1"<<endl;}
    virtual void fun2(int x){cout<<"derived fun2"<<endl;}
 virtual void fun3(){cout<<"derived fun3"<<endl;}
 void fun4(){cout<<"dervied fun4"<<endl;}
};
void main()
{  
 base * pb;
 derived d;
 pb=&d;
 pb->fun1();
 pb->fun2();
 pb->fun3();
 pb->fun4();


}
/*
fun1在基类base和派生类的dervied中均使用virutal关键字定义虚函数,并且这两个虚函数具有相同的参数,参数类型,
返回值,因此,当通过指针pb 访问fun1函数时,采用动态联编。
fun2 基类与派生类derived 中具有不同的参数。失去虚函数的特性,在调用时进行静态联编。
fun3,在base 中声明为一般成员函数,而在派生类derived中使用virtual关键字定义为虚函数。在这种情况下,
应该以基类中说明的成员函数的特性为标准,即成员函数fun3为一般函数,在调用时,进行静态联编
fun4为一般成员函数
*/ 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值