首页 > 代码库 > 学习笔记---C++虚函数,纯虚函数
学习笔记---C++虚函数,纯虚函数
1 .虚函数
假设people是man的父类,people类和man类都定义了实函数walk()
people* p = new man();
p->walk();
这里P执行的是people类的walk()函数。这和java语言不一样,java在这里执行的是man的walk()函数。那么C++如何实现子类的方法重写,并动态定位到子类方法?
这里必须使用virtual关键字 定义父类和子类的walk()
virtual void walk();
现在执行 p->walk();就是执行的子类的walk()。
2.纯虚函数
virtual void walk()=0;这里就定义了一个纯虚函数,可以在父类中不实现它,而在子类中去实现它。
如果在man类也没有实现walk函数,则
people* p = new man();
会报错,man类是一个抽象的类。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。