虚函数与纯虚函数的区别,我的理解是不是子类的函数实现了父类的函数,但是重写了方法,就是纯虚函数
1个回答
展开全部
1. lz的理解还是有些出入。虚函数与纯虚函数 在他们的子类中都可以被重写。它们的区别是:
(1)纯虚函数只有定义,没有实现;而虚函数既有定义,也有实现的代码。
(2)包含纯虚函数的类不能定义其对象,而包含虚函数的则可以。
2. 虚函数的引入主要是为了实现多态,这部分内容是c++的精髓。
3. lz不懂可继续追问
(1)纯虚函数只有定义,没有实现;而虚函数既有定义,也有实现的代码。
(2)包含纯虚函数的类不能定义其对象,而包含虚函数的则可以。
2. 虚函数的引入主要是为了实现多态,这部分内容是c++的精髓。
3. lz不懂可继续追问
追问
可以来点代码加以讲解么,多谢了啊
追答
1)纯虚函数一般没有代码实现部分,如
virtual void print() = 0;
2)而一般虚函数必须要有代码的实现部分,否则会出现函数未定义的错误。
virtual void print()
{ printf("This is virtual function\n"); }
3)面向对象的三个特点是:封装,继承和多态。而虚函数就是实现多态的一个重要途径,lz如有不懂之处可百度一下或继续追问。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询