C++
小小i程序员
这个作者很懒,什么都没留下…
展开
-
虚析构函数
Class Base{Base(){};virtual ~Base(){cout}Class Derived :public Base{Derived(){};~Derived(){cout}Base *ptext= new Derived ;delete ptext;上面输出 Do Derived destructor若去掉virtual原创 2015-07-17 19:54:21 · 249 阅读 · 0 评论 -
dynamic_cast和static_cast
dynamic_cast主要用于类层次间的上行转换和下行转换,还可以用于类之间的交叉转换。类层次间进行上下行转换时,dynamic_cast和static_cast的效果时一样的;在进行下行转换时,dynamic_cast具有类型检查功能,比static_cast安全。class Base{public:int m_iNum;vitual void foo();};cl原创 2015-07-18 16:47:27 · 302 阅读 · 0 评论 -
(int)a和(int&)a的区别
#include using namespace std;int main(int argc, char** argv) { float a = 1.0f; cout cout cout cout float b = 0.0f; cout cout cout return 0;}原创 2015-07-22 22:59:06 · 382 阅读 · 0 评论 -
static的作用
用法1:函数内部声明的static变量,可作为对象间的一种通信机制 如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象,它被用于在该函数的所有调用中表示这个变量。这个对象将只在执行线程第一次到达它的定义使初始化。 用法2:局部静态对象 对于局部静态对象,构造函数是在控制线程第一次通过该对象的定义时调用。在程序结束时,局部静态对象的析构函数将按照他们被构造的相反顺序逐转载 2015-09-08 10:27:28 · 400 阅读 · 0 评论