VC++深入详解-第二章学习心得
2013-08-01 20:14
281 查看
由于之前看过C++的一些知识,所以这一章就挑一点以前比较不太在意的进行记录
首先是虚函数,纯虚函数
虚函数用关键字virtual申明,我理解成为派生类提供覆盖
纯虚函数virtual xxx()=xxx; 这个我理解成抽象类,接口之类的,供派生类进行实现。
下面的例子说明覆盖和隐藏的区别:
(概括下:函数的覆盖是发生在基类和派生类之间的,两个函数必须相同,并且有虚函数,除这种情况之外的就是隐藏了)
个人觉得隐藏和覆盖类似于java中的多态:父类的引用指向子类的对象
接触到一个新的交换顺序的方法。。。觉得挺好玩,记录下。。
首先是虚函数,纯虚函数
虚函数用关键字virtual申明,我理解成为派生类提供覆盖
纯虚函数virtual xxx()=xxx; 这个我理解成抽象类,接口之类的,供派生类进行实现。
下面的例子说明覆盖和隐藏的区别:
(概括下:函数的覆盖是发生在基类和派生类之间的,两个函数必须相同,并且有虚函数,除这种情况之外的就是隐藏了)
个人觉得隐藏和覆盖类似于java中的多态:父类的引用指向子类的对象
#include <iostream.h> class Base { public: virtual void xfn(int i) { cout << "Base :: xfn(int i)" << endl; } void yfn(float f) { cout << "Base :: yfn(float f)" << endl; } void zfn() { cout << "Base :: zfn()" <<endl; } }; class Derived : public Base { public: void xfn(int x) //覆盖 { cout << "Drived :: xfn(int i)" << endl; } void yfn(int c) //隐藏 { cout << "Drived :: yfn(int c)" << endl; } void zfn() //隐藏 { cout << "Drived :: zfn()" << endl; } }; void main() { Derived d; Base *pB = &d; Derived *pD = &d; pB ->xfn(5); pD ->xfn(5); pB ->yfn(3.14f); pD ->yfn(3.14f); pB ->zfn(); pD ->zfn(); }
接触到一个新的交换顺序的方法。。。觉得挺好玩,记录下。。
void change(int &a, int &b) { a = a + b; b = a - b; a = a - b; }
相关文章推荐
- VC++深入详解-第二章学习心得
- wxhl ios bj 49 张浩 学习心得连载 第二章
- VC++深入详解-第四章学习心得
- 《算法图解》第二章学习心得(一)
- VC++深入详解-第五章学习心得
- VC++深入详解-第四章学习心得
- <Python基础教程>学习心得_第二章
- 学习Netty in action 第二章心得
- 《算法图解》第二章学习心得(二)
- 学习opencv中文版心得 第二章 例2-1
- VC++深入详解-第一章学习心得(一)
- VC++深入详解-第一章学习心得(二)
- VC++深入详解-第三章学习心得
- iOS 52个技巧学习心得笔记 第二章 对象 , 消息, 运行期
- VC++深入详解-第六章学习心得
- 《windows程序设计》第二章学习心得
- VC++深入详解第二章学习笔记
- 《windows程序设计》第二章学习心得
- VC++深入详解-第一章学习心得(二)
- 《windows程序设计》第二章学习心得