虚函数和抽象函数有什么区别
2006-10-18 10:46
162 查看
虚函数是有代码的并明确允许子类去覆盖,但子类也可不覆盖,就是说可以直接用,不用重写
抽象函数是没有代码,子类继承后一定要重写
******************************************************************
在一个类中用虚函数:
是因为在超类中的有实际代码的方法,但明确允许子类可以作重写
而且当子类重写后,可以用子类实例超类;如果这样,超类变量调用虚函数时,执行的是子类的方法
在一个类中用抽象函数
是在写超类时不确定函数的代码,让子类去实现
******************************************************************
抽象函数没有方法体。
抽象函数是没有代码,子类继承后一定要重写
******************************************************************
在一个类中用虚函数:
是因为在超类中的有实际代码的方法,但明确允许子类可以作重写
而且当子类重写后,可以用子类实例超类;如果这样,超类变量调用虚函数时,执行的是子类的方法
在一个类中用抽象函数
是在写超类时不确定函数的代码,让子类去实现
******************************************************************
抽象函数没有方法体。
相关文章推荐
- 虚函数、抽象函数以及接口的区别
- C++中函数覆盖和使用虚函数有什么区别
- 虚函数和抽象函数的区别
- 在什么情况下会用到虚方法(虚函数)?它与抽像函数区别等探讨
- 记录虚函数(Virtual),抽象函数(abstract)和接口的区别
- Chapter12——请比较函数重载和虚函数在概念上和使用方式有什么区别
- C#中虚函数跟抽象函数有什么用,怎么去区别
- [c#] 虚函数(Virtual),抽象函数(abstract)和接口的区别
- 虚函数和抽象函数有什么区别
- 虚函数和抽象函数的区别
- 拦截器和过滤器有什么区别
- abstract class和interface有什么区别
- JS中document对象和window对象有什么区别
- 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用 ; nil、Nil、NULL、NSNull的区别
- C++和C在linux下编程和与在WINDOWS下有什么区别
- C++容器适配器和容器有什么区别
- 操作系统64位和32位有什么区别?是不是所有的机器都可以装这两个系统?
- Java中int和Integer的区别是什么?
- sleep() 和 wait() 有什么区别?
- [机器学习]矩阵的奇异值与特征值有什么相似之处与区别之处?