9月8日-11日走马观花的跑完了《C++面向对象程序设计》,有了基本认识。翁恺《面向对象程序设计》笔记什么是对象-面向对象的基本原理头文件(.h)成员变量-成员变量的秘密构造函数和析构函数对象的初始化(initialization)new & delete ;new[] & delete[] -在....
分类:
编程语言 时间:
2015-09-11 12:42:28
阅读次数:
142
最近在几个群上经常看到有人问在一个类里的一个 function 怎么调用 this. 定义后公开的方法。现发一篇类实现的随笔。首先说说类,在一个类里我们会有以下的几个特征:1. 公有方法2. 私有方法3. 属性4. 私有变量5. 析构函数我们直接看一个例子:/***定义类***/var Class ...
分类:
编程语言 时间:
2015-09-11 10:42:40
阅读次数:
184
注:本文内容来源于zhice163博文,感谢作者的整理。1.为什么基类的析构函数是虚函数? 在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生。 下面转自网络:源地址 http://blog.sina.com.cn/s/blog_7c773cc50100y9hz.h.....
分类:
编程语言 时间:
2015-09-10 19:17:51
阅读次数:
159
如果存在继承,父类的析构函数最好是虚析构函数,当Base * base = new Drive(), delete base的时候能正确析构子类不存在虚构造函数(虚函数需要借助虚函数表,构造函数执行之前,并没有对象也就没有虚函数表)析构函数可以是内联函数单个参数的构造函数如果不添加explicit关...
分类:
编程语言 时间:
2015-09-09 20:59:07
阅读次数:
137
点击Abort之后,查看调用栈,发现异常在函数return时被时产生,进一步看是vector的析构函数被调用时产生,以前没开发过C++项目,没什么经验,这个错误让我很困惑,第一,我电脑上并没有f盘;第二,我并没有调用析构函数;第三,这到底是个什么错误。第一个问题,大概是一个虚拟的分区吧,第二个问题,...
分类:
其他好文 时间:
2015-09-09 17:35:01
阅读次数:
239
1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用...
分类:
编程语言 时间:
2015-09-09 06:18:04
阅读次数:
181
答案就是: 在函数创建对象之前先创建一个自动释放池,因为这个释放池是函数里面的局部变量,所以当函数结束的时候,会调用他的析构函数,而普通的情况是在一帧结束的时候才会调用自动释放池(不是这个,普通的)...
分类:
其他好文 时间:
2015-09-08 22:10:26
阅读次数:
155
答案就是:在函数创建对象之前先创建一个自动释放池,因为这个释放池是函数里面的局部变量,所以当函数结束的时候,会调用他的析构函数,而普通的情况是在一帧结束的时候才会调用自动释放池(不是这个,普通的)的析构函数。基于这个背景来分析一下为什么。1.内存峰值过高是为什么? 在cocos2d中因为我们在一帧....
分类:
其他好文 时间:
2015-09-08 21:35:37
阅读次数:
138
现在在写一个项目,需要用到多叉树存储结构,但是在某个时候,我需要销毁这棵树,这意味着如果我新建了一个树对象,我很可能在某处希望将这个对象的声明周期终结,自然会想到显示调用析构函数,但是就扯出来这么大个陷阱。...
分类:
编程语言 时间:
2015-09-07 22:52:33
阅读次数:
251
1. 顺序 先调用基类的构造函数,再调用派生类构造函数。析构顺序相反。2. 构造函数 派生类 不用初始化列表调用基类构造函数->调用基类的默认构造函数 派生类 使用初始化列表调用基类带参构造函数->调用基类相关的带参构造函数 若派生类有多个构造函数版本,其中任意一个基类的构造函数不匹配,都会...
分类:
编程语言 时间:
2015-09-06 14:35:30
阅读次数:
221