1.02 main.cpp研究

  1. // create the application instance
  2. AppDelegate app;
  3. CCEGLView* eglView = CCEGLView::sharedOpenGLView();
  4. eglView->setViewName("Fei");
  5. eglView->setFrameSize(480, 320);
  6. return CCApplication::sharedApplication()->run();

一、静态类成员函数

CCEGLView::sharedOpenGLView

CCApplication::sharedApplication

凡是以 share 开头的这种方式都是类成员静态函数

二、单例模式

单例模式:我进来一次之后,这个指针(每个里面都有一个静态指针的),如果这个静态指针为空的话我就直接创建,不为空我就直接返回。保证只有一个单例

三、多态

子类 overwrite 了父类的虚函数

要有子类对象的指针

子类指针赋给父类,父类指针调用虚接口

四、this 水好深

五、AppDelegate.h 三大接口

virtual bool applicationDidFinishLaunching(); //游戏开始接口

virtual void applicationDidEnterBackground(); //Home 键接口

virtual void applicationWillEnterForeground(); //来电话时接电话打断的接口

六、AppDelegate、CCApplication、CCApplicationProtocol 关系

AppDelegate 和 CCApplicationProtocol 永远不变

而 CCApplication 却放着跨平台的东西,变的永远是 CCApplication

设计思想:最上层和最下层永远不变,而中间可以一直变着适应不同的东西,这可能也是代理模式的初衷

来自为知笔记(Wiz)

时间: 2024-10-15 14:50:26

1.02 main.cpp研究的相关文章

QT Demo 之 calqlatr(1) main.cpp

其实从最开始要学习和分析Qt的Demo时选定的就是calqlatr工程,但是打开源码一看,貌似难度高了点,这才有了上面的几篇基本控件的分析.从这一章开始,我要拿下calqlatr这个Demo项目了. main.cpp main.cpp中的代码非常简单: #include "../../shared/shared.h" DECLARATIVE_EXAMPLE_MAIN(demos/calqlatr/calqlatr) DECLARATIVE_EXAMPLE_MAIN(NAME)是一个函数

C/C++语言中,如何在main.c或main.cpp中调用另一个.c文件

C/C++语言中,如何在main.c或main.cpp中调用另一个.c文件主要有两种思路: 1.在VS2012 IDE中,将被引用的.c文件后缀名全部修改为.h,然后通过IDE的解决方案资源管理器中鼠标右键单击"头文件"-"添加"-"现有项",选中修改后缀名后的.h文件-"添加",将带引用的文件添加到IDE中. 添加到"头文件"的作用主要是不要使头文件的项属性为"C/C++ 标头",而不

main.cpp

1 /*main.cpp 2 * 3 *The starting point of the network simulator 4 *-Include all network header files 5 *-initilize the network 6 *-initialize the traffic manager and set it to run 7 * 8 * 9 */ 10 #include <sys/time.h> 11 12 #include <string> 1

【操作系统】main.cpp

/************************************************************************/ /* 功能: 模拟实现可变分区存储管理的最佳适应算法的链表类定义实现 时间:2014年9月1日9:25:17 作者:信管1201 1205020116 肖锋 */ /************************************************************************/ #include "Link.h&q

cocos2d-x main.cpp源码详析 v2.26

// create the application instance AppDelegate app; CCEGLView* eglView = CCEGLView::sharedOpenGLView(); eglView->setViewName("Fei"); eglView->setFrameSize(480, 320); return CCApplication::sharedApplication()->run(); 一.静态类成员函数 CCEGLView:

关于Qt信号与槽机制的传递方向性研究(结论其实是错误的,但是可以看看分析过程)

最近由于项目的需求,一直在研究Qt.信号与槽机制是Qt的一大特色,该机制允许两者间传递参数,依次来实现对象间的通信.这个参数会分别存在于信号的参数列表和槽函数的参数列表中.需要注意的是,若将槽函数绑定至信号,槽函数的参数列表元素数目只能少于等于信号的参数列表元素数目.而且顺序和类型不能改变.至于缺少的参数应从信号参数尾部开始缺少. 突然今天想起来一个问题,如果一个对象发出信号,将内部的一个成员变量(非简单类型)作为参数向外发送,槽函数就可以接收到这个对象,那么槽函数是否可以完全操作这个对象呢?如

Linux工具开发[02]---编程实现对输入字符序列变换(编码/加密/散列)方式的智能判定

怎样简单实现一个能够智能判定输入字符序列变换方式的小程序 本文由CSDN-蚍蜉撼青松 [主页:http://blog.csdn.net/howeverpf]原创,转载请注明出处! 问题描写叙述: 在分析网络数据包或者研究安全问题时.经常会遇到变换后的字符序列.而是否能准确识别密文的变换算法,对进一步的分析工作非常关键. 经常使用的变换算法包含但不限于:Base64.URL编码.HTML编码.MD5散列.DES加密.RSA加密等. 要求: 1)在理解算法原理及密文特点的基础上.使用随意编程语言实现

深入研究Block捕获外部变量和__block实现原理

Blocks是C语言的扩充功能,而Apple 在OS X Snow Leopard 和 iOS 4中引入了这个新功能“Blocks”.从那开始,Block就出现在iOS和Mac系统各个API中,并被大家广泛使用.一句话来形容Blocks,带有自动变量(局部变量)的匿名函数. Block在OC中的实现如下: struct Block_layout { void *isa; int flags; int reserved; void (*invoke)(void *, ...); struct Bl

背景建模技术(三):背景减法库(BGS Library)的基本框架与入口函数main()的功能

背景减法库(BGS Library = background subtraction library)包含了37种背景建模算法,也是目前国际上关于背景建模技术研究最全也最权威的资料.本文将更加详细的介绍背景减法库(BGS Library)的基本框架与入口函数main()的功能. BGS库的整体框架在背景建模技术(二)中已经全部给出,此处从函数的角度再次给出BGS库的基本框架,有利于代码的修改与维护. 如下图所示是基于C++的BGS库的函数流程图: 接下来将会对每个函数进行更加详细的分析. 首先,