
C++
文章平均质量分 78
我是一个小胖子
猫
展开
-
C++编程中虚函数的作用
FROM:http://www.cnblogs.com/goodcandle/archive/2005/09/21/241478.html老鸟级的C++编程高手我想都掌握了虚函数的作用(哇,我没说自己是老鸟),但新手我想定是看虚函数一章有点头疼,或看懂了但在实际中用不出来,别急,让我来说上一回。何为虚函数?虚函数就是被关键字virtaul说明的函数。举个例子:转载 2010-02-22 09:50:00 · 646 阅读 · 0 评论 -
关于静态函数的一些思考
在优快云上发帖讨论关于静态函数与全局静态函数的区别时,有网友指出没有全局静态函数之说,既然是全局函数又怎么能是静态的那?关于这个问题,我不想正面回答,static是C++关键字之一,它的作用就是:把有static修饰的函数或者变量变为静态的,这里的静态而不仅仅表示存储在静态区,同时也标示这个函数或者变量为文件内编译有效,也就是本单元编译有效,从这一点上来理解,全局静态函数其实就是本编译单转载 2010-05-28 21:24:00 · 509 阅读 · 0 评论 -
怎样获得虚函数指针
<br /><br />先还是看看下面的代码: <br />#include <iostream><br />using namespace std;<br /> <br />class A<br />{<br />private:<br /> int a;<br /> int b;<br />public:<br /> virtual void vfun0()<br /> {<br /> cout << "转载 2010-06-04 11:25:00 · 494 阅读 · 0 评论 -
C++ this指针的理解
<br /><br />先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。(虽然比int char这样build-in类型复杂的多,但首先要理解它们一样是类型)。用这个类型可以来声明一个变量,比如int x, myclass my等等。这样就像变量x具有int类型一样,变量my具有myclass类型。<br />理解了这个,就好解释this了,my里的this 就是指向my的指针。如果还有一个变量myclass mz,mz的this就是指向mz的指针。 这样转载 2010-06-04 14:26:00 · 417 阅读 · 0 评论 -
指针与引用的区别
<br />摘自:More+Effective+C++(中文完全版).pdf<br /><br /><br /><br />指针与引用看上去完全不同(指针用操作符“*”和“->”,引用使用操作符“. ”),但<br />是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候<br />使用指针,在什么时候使用引用呢?<br />首先,要认识到在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些<br />对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候原创 2010-06-04 15:14:00 · 403 阅读 · 0 评论 -
C++风格的类型转换
<br />这四个操作符:<br />static_cast, const_cast, dynamic_cast, 和reinterpret_cast<br /> <br />static_cast<br /> <br />这些操作符你只需要知道原来你习惯于这样写,<br />(type) expression<br />而现在你总应该这样写:<br />static_cast<type>(expression)<br /> <br /> <br /> <br />例如,假设你想把一个int 转换成doub原创 2010-06-04 16:19:00 · 515 阅读 · 0 评论 -
回调函数
<br /> <br />最近,忙着搞个回调函数,但是我连回调函数是什么都不知道,好在经过一番修炼,略知一二,分享如下:<br /> <br /> 在说回调函数之前,首先要搞清楚什么是函数指针:它就是一个函数在编译时被分配的入口地址,可以将该地址赋给一个指针,这样指针地址变量持有函数入口地址,它就指向了该函数,所以称这种指针为指向函数的指针,简称函数指针。在说明函数指针时,同时也要描述指针所指向的函数的参数类型和个数,如<br /> int (*funp)(int a , int b) ;转载 2010-06-03 15:51:00 · 527 阅读 · 0 评论 -
谈谈C++继承中的重载,覆盖和隐藏
<br />写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖(override),隐藏(hide)。在早期的C++书籍中,可能翻译的人不熟悉专业用语(也不能怪他们,他们不是搞计算机编程的,他们是英语专业的),常常把重载(overload)和覆盖(override)搞错! <br /> 我们先来看一些代码及其编译结果。<br /> 实例一:<br /><br /> #include "stdafx.h"<br /> #include <iostream.h><br /> cl转载 2011-01-28 09:45:00 · 375 阅读 · 0 评论