派生和虚函数
来源:互联网 发布:老a淘宝卖家工具箱 编辑:程序博客网 时间:2024/06/10 11:41
c++在类的设计过程中经常要涉及到派生和虚函数的概念。
派生:从一个类构造另一个类的方法,使新构造的类可以替换原来的类。派生类除了自己的成员以外,还包括基类的所有成员。这通常也称作继承,因为派生类继承了其基类的所有成员。我们一般将派生类称为子类,称其基类为父类。
虚函数:在基类中定义一个函数,在派生类中有一个类型和名称完全一样的函数,当用户调用基类函数时,实际上调用的是派生类中的函数。这通常称为运行时多态,因为具体调用哪个函数是根据运行时实际使用的对象类型来确定的。
值得注意的是,一个虚函数必须在类的声明中被声明为virtual。另外,当希望覆盖一个虚函数时,必须使用与基类中完全相同的名字和类型。
举一个例子来说明类的派生,虚函数及其覆盖。
运行结果如下
call(b)调用B的f(),g()。
call(d)调用D的f(),B的g(),这正是虚函数的用处,使用户在调用基类函数时调用的是派生类中的函数。
call(dd)调用D的f(),B的g()。这个地方需要注意,因为在DD的定义中,如果希望覆盖虚函数,则必须使用与基类中完全相同的名字和类型,这个地方差了一个const。因此,这个地方调用的是DD继承的父类的f()。
至于最后三个输出,就是直接输出三个类中的成员,比较好理解。
0 0
- 派生和虚函数
- 基类和派生类,虚函数
- C++派生 虚函数
- 基类和派生类的虚函数表
- 基类和派生类的虚函数表
- C++学习笔记13:类继承和派生、虚函数
- 派生类中的虚函数
- 虚基类和派生类的函数调用
- 派生类的说明和构造函数
- C++中基类和派生类同名函数及继承体系中虚函数
- 派生类的构造函数和析构函数和多继承中的二义性与虚函数
- 多层派生的构造函数和虚基类派生的构造函数的区别
- 派生类的构造函数和析构函数
- 派生类的构造函数和析构函数
- 关于派生类的构造函数和析构函数
- 派生类的构造函数和析构函数
- 派生类的构造函数和析构函数
- C++派生类的构造函数和析构函数
- linux_硬链接和软链接区别
- THz a
- idea对于创建maven项目缓慢的解决办法
- 应该在什么时候使用Hadoop
- word显示和隐藏段落标记
- 派生和虚函数
- 单例模式
- Result Maps collection already contains value for...BaseResultMap原因及解决办法
- 使用Zookeeper实现Leader(Master)选举
- 从ESTABLISTEND到数据库连接池
- shell的用处到底大不大
- linux下用ftp命令连接到ftp服务器应该如何查看服务器上的目录文件数
- 技术评审节点
- Android设计模式——开闭原则