虚函数和抽象函数有什么区别
2006-05-29 17:09
363 查看
虚函数是有代码的并明确允许子类去覆盖,但子类也可不覆盖,就是说可以直接用,不用重写
抽象函数是没有代码,子类继承后一定要重写
******************************************************************
在一个类中用虚函数:
是因为在超类中的有实际代码的方法,但明确允许子类可以作重写
而且当子类重写后,可以用子类实例超类;如果这样,超类变量调用虚函数时,执行的是子类的方法
在一个类中用抽象函数
是在写超类时不确定函数的代码,让子类去实现
******************************************************************
抽象函数没有方法体。
抽象函数是没有代码,子类继承后一定要重写
******************************************************************
在一个类中用虚函数:
是因为在超类中的有实际代码的方法,但明确允许子类可以作重写
而且当子类重写后,可以用子类实例超类;如果这样,超类变量调用虚函数时,执行的是子类的方法
在一个类中用抽象函数
是在写超类时不确定函数的代码,让子类去实现
******************************************************************
抽象函数没有方法体。
相关文章推荐
- C#中虚函数跟抽象函数有什么用,怎么去区别
- SetWindowLong()和 SetClassLong()这两个函数有什么区别?
- 立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( )) 有什么区别?
- 内联函数与普通函数有什么区别
- ES6---箭头函数与function定义函数有什么区别?在箭头函数中,this指向,构造函数,变量提升是如何表现的?
- 函数调用方式--__thiscall调用方式和__cdecl,__stdcall有什么区别
- 立即执行函数: (function ( ){...})( ) 与 (function ( ){...}( )) 有什么区别?
- setTimeout()中函数加双引号和不加有什么区别?
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
- PHP explode()函数的几个应用和implode()函数有什么区别
- oracle的nvl和nvl2是什么函数,两者区别
- oracle函数和存储过程有什么区别
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
- oracle的nvl和nvl2是什么函数,两者区别是什么呢
- Chapter12——请比较函数重载和虚函数在概念上和使用方式有什么区别
- c# 中委托和直接函数调用用什么区别,好处和目的在哪?
- mpi 的计时函数 和 C/C++ 的计时函数 有什么区别吗?
- STM32中 static型变量和函数有什么区别?
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
- js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?