标签:
1. 如果你在基类中将某个函数声明为纯虚函数,那么该类是不可实例化的;你必须在它的某个子类中给出该虚函数的实际定义。
2. 如果你在基类中将某个函数声明为非纯的虚函数,那么必须提供该函数的定义,否则编译器会报错,因为在多态情形下,编译器无法判断你是否会用到该函数,使用的是基类函数还是继承类函数。
综上,虚函数的用法必居其下之一:
1. 在基类中将某个函数声明为纯虚函数,该类不可实例化,在子类中有该函数定义;
2. 在基类中将某个函数声明为非纯的虚函数,且提供该函数定义。
以下是非虚的函数可以做到而虚函数不行的:
在类中仅声明而不定义某个函数,只要你没有调用该函数。
标签:
原文地址:http://www.cnblogs.com/byeyear/p/4982290.html