c/c++
文章平均质量分 78
christinavivi
在读硕士
展开
-
重载与覆盖的区别1
经常看到C++的一些初学者对于重载、覆盖、多态与函数隐藏的模糊理解。在这里写一点自己的见解,希望能够C++初学者解惑。 要弄清楚重载、覆盖、多态与函数隐藏之间的复杂且微妙关系之前,我们首先要来回顾一下重载覆盖等基本概念。 ⑴首先,我们来看一个非常简单的例子,理解一下什么叫函数隐藏hide。#include using namespace std; class转载 2008-02-29 20:20:00 · 635 阅读 · 0 评论 -
重载与覆盖的区别4
小结: 重载overload是根据函数的参数列表来选择要调用的函数版本,而覆盖是根据运行时对象的实际类型来选择要调用的虚virtual函数版本,覆盖的实现是通过派生类对基类的虚virtual函数进行覆盖override来实现的,若派生类没有对基类的虚virtual函数进行覆盖override的话,则派生类会自动继承基类的虚virtual函数版本,此时无论基类指针指向的转载 2008-02-29 20:29:00 · 978 阅读 · 0 评论 -
指针的小总结1
本人在学C语言时,发觉指针很难搞,于是作了几点总结一.概念区分:1) 指针和指针变量:指针:一个变量的地址称为该变量的指针。指针变量:一个变量专门存放另一个变量的地址。(地址是以八进制数保存的 %o) 2)*p++与*(p++):二者相同,先得到p指向变量的值,后再加加。 (*p)++与*p++:前者相当于(a[0])++,即a++。后者同上。原创 2008-03-02 13:10:00 · 501 阅读 · 0 评论 -
重载与覆盖的区别2
如果基类有某个函数的多个重载(overload)版本,而你在派生类中重写(override)了基类中的一个或多个函数版本,或是在派生类中重新添加了新的函数版本(函数名相同,参数不同),则所有基类的重载版本都被屏蔽,在这里我们称之为隐藏hide。所以,在一般情况下,你想在派生类中使用新的函数版本又想使用基类的函数版本时,你应该在派生类中重写基类中的所有重载版本。你若是不想重写基类的重载的函数版转载 2008-02-29 20:23:00 · 866 阅读 · 0 评论 -
关于指针的小结2
3) #include void swap(int *x, int *y) 结果:5,3{ int *t; //地址随机,很危险,会破坏整个系统。应改成 *t = *x; /原创 2008-03-02 13:13:00 · 463 阅读 · 0 评论 -
重载与覆盖的区别3
例7-1和例8-1很好理解,我把这两个例子放在这里,是让大家作一个比较摆了,也是为了帮助大家更好的理解: 例7-1中,派生类没有覆盖基类的虚函数,此时派生类的vtable中的函数指针指向的地址就是基类的虚函数地址。 例8-1中,派生类覆盖了基类的虚函数,此时派生类的vtable中的函数指针指向的地址就是派生类自己的重写的虚函数地址。在例7-2和8-2看转载 2008-02-29 20:26:00 · 711 阅读 · 1 评论 -
许多VC++/MFC构架的开源项目
IntroductionList of some of the best Open Source projects written in VC++/MFC. BackgroundCodeproject has the best source code repository for VC++ developers. But another site Sourceforge.net als转载 2008-04-25 21:08:00 · 945 阅读 · 0 评论