虚函数\纯虚函数

虚函数:
派生类一般会重定义所继承的虚函数,如果派生类没有重定义某个虚函数,则使用基类中定义的版本。
派生类中虚函数的声明必须与基类中的定义方式完全匹配,但有一个例外:返回对基类型的引用或指针的虚函数,派生类中的虚函数可以返回基类型的派生类的指针或引用。
函数在基类中声明为虚函数,它就一直是虚函数,派生类无法改变该函数为虚函数这一事实。派生类重定义虚函数时,可以使用virtual保留字,但不是必须这样做。
虚函数动态绑定必须通过基类类型的引用或指针进行函数调用。
将基类类型的引用或指针绑定到派生类对象,对派生类对象没有影响,对象本身不会改变,仍为派生类对象。
通过引用或指针调用虚函数时,编译器将生成代码,在运行时确定调用那个函数,被调用的是与动态类型相对应的函数。
C++中virtual关键字详解:http://www.cnblogs.com/xd502djj/archive/2010/09/22/1832912.html


纯虚函数:
包含纯虚函数的类称为抽象类。由于抽象类包含了没有定义的纯虚函数,所以不能定义抽象类的对象。
实现纯虚函数的方法是在函数原型后加“=0”
virtual void funtion1()=0

________________________________________________
发现下面代码的问题
do {
   // ...
} while (int ival = get_response());
do...while的循环条件中不能定义变量。do { int ival = get_response(); if (ival == some_value()) break;} while (ival); if (!ival)// ...
do {
   int ival = get_response();
   if (ival == some_value())
   break;
} while (ival);
 if (!ival)
// ...
do...while循环中定义的变量作用域只在循环中,不能在do...while语句外使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值