虚函数和虚基类的区别是什么啊?

aaaaaaaaaa虚函数和虚基类的区别是什么啊?

虚函数 , 虚基类,它们都和virtual有关,这两个带有虚字的定义容易使人混淆,下面先从作用上来解释这两个定义的区别:
1.虚函数是用于多态中virtual修饰父类函数,确保父类指针调用子类对象时,运行子类函数的。
2、.虚基类是用来在多继承中,如果父类继承自同一个父类,就只实例化一个父类(说的有点绕,就是只实例化一个爷爷的意思。

具体区别登陆http://blog.csdn.net/a345203172/article/details/21697687详询。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2006-11-16
楼上两位回答都有问题吧..
楼主问的是虚函数,而两位都是回答的:纯虚函数和抽象类了....

虚函数的定义是在函数定义的最前加上关键词virtual来定义.
虚函数其实和普通函数差不多,主要作用是在类的派生中产生动态调用的作用,即指向派生类的基类指针可以调用派生类的同名虚函数.
而采用virtual fun(参数表) = 0这种形式声明的函数叫纯虚函数,其特征是没有函数体,它的作用主要是用来作派生类的接口,一个类里只要有这样一个函数,这个类就叫抽象类,当抽象类派生出派生类,这个抽象类就叫虚基类,纯虚函数必须在派生类里被实现,否则,这个派生类就仍是一个抽象类.
不知这样说你是否明白一些???本回答被网友采纳
第2个回答  2006-11-16
函数和类有相似之处?虚函数在派生类里必须被实现,虚基类则一定包含纯虚函数,不能被实例化,和接口有点相似。好好看看书吧
第3个回答  2006-11-16
虚基类j就是由虚函数这样定义virtual f(...) = 0
这样的类用来做接口,不能实例化,
虚函数明显是用来表示类里的接口动作的
第4个回答  2020-04-23
虚函数主要是用来产生派生类与基类之间的多态性.
虚基类主要是用来解决多重派生引起的两议性问题
相似回答