C++ 虚函数
2016-04-11 17:21
309 查看
今天主要了解了一下C++虚函数和纯虚函数的用法。
C++的虚函数主要是用来实现多态,且多态分为两种,静态和动态。
静态多态,为编译时多态;动态多态,为运行时多态。
静态多态,由函数重载和运算符重载实现。
动态多态,由虚函数实现。
虚函数多态的实现主要是靠虚函数表来实现的。
详细内容参考:http://blog.csdn.net/haoel/article/details/1948051/
而虚函数和纯虚函数的区别在于:
虚函数是为了实现多态,其父类中有相应的实现方法;虚函数实现多态的方式是通过父类指针或者引用可以直接调用子类的函数实现的(只限父类中被子类覆盖的函数,子类中自己独有的函数,父类指针是无法访问的;)
纯虚函数只是为了提供接口,使得父类不能具体化一个实例;
eg:动物是一个父类,其不能直接实例化,其子类如孔雀、熊猫才可以实例化;为了阻止父类实例化既可以将其中的成员函数声明为纯虚函数,这样父类即为一个抽象类,抽象类是不能实例化的。
详细内容参考:http://blog.csdn.net/hackbuteer1/article/details/7558868
在VS2010中debug模式下可以查看内存,debug-》window-》RAM。
C++的虚函数主要是用来实现多态,且多态分为两种,静态和动态。
静态多态,为编译时多态;动态多态,为运行时多态。
静态多态,由函数重载和运算符重载实现。
动态多态,由虚函数实现。
虚函数多态的实现主要是靠虚函数表来实现的。
详细内容参考:http://blog.csdn.net/haoel/article/details/1948051/
而虚函数和纯虚函数的区别在于:
虚函数是为了实现多态,其父类中有相应的实现方法;虚函数实现多态的方式是通过父类指针或者引用可以直接调用子类的函数实现的(只限父类中被子类覆盖的函数,子类中自己独有的函数,父类指针是无法访问的;)
纯虚函数只是为了提供接口,使得父类不能具体化一个实例;
eg:动物是一个父类,其不能直接实例化,其子类如孔雀、熊猫才可以实例化;为了阻止父类实例化既可以将其中的成员函数声明为纯虚函数,这样父类即为一个抽象类,抽象类是不能实例化的。
详细内容参考:http://blog.csdn.net/hackbuteer1/article/details/7558868
在VS2010中debug模式下可以查看内存,debug-》window-》RAM。
相关文章推荐
- C++ vector的用法小结
- c/c++中的条件编译实例
- c语言的printf一个小问题
- 【day0411 C++】顺序容器 STL deque类
- C++友元函数访问私有成员
- C语言结构和其他数据形式
- 快速排序算法C语言版
- c++作业3
- C++实验3—多分段函数求值
- 【python】 Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
- C++遍历所有IE浏览器,得到里面的所有元素
- C++递归创建多级目录
- c++获取当前系统时间并输出到文件中
- C++实验3-个人所得税计算器
- C/C++ 头文件以及库的搜索路径
- C++类型强制转换
- c++作业3
- 【C/C++】再探string
- c++实验3,个人所得税
- 《More Effective C++》 Item M1:指针与引用的区别