文章分类 - C++
摘要:做过界面开发的人想必都清楚如果要用VC++来开发漂亮的程序界面其难度真是苦不堪言, 当然VC++可以作出漂亮的界面但要投入大量的人力和时间其代码量可以用海量来形容。BUG自然也就不计其数。本文主要介绍如何采用VC++结合FLASH在短时间内以及很少的人力投入的情况开发出精美漂亮的软件界面。在本例中V...
阅读全文
摘要:关于游戏状态机:分享一份关于游戏状态机的设计模式:简单来说,一个state基类,所以状态继承之,实现相应的excute实现,再用一个FSMManager来管理。详细设计方法见cocos2d-x:http://cn.cocos2d-x.org/tutorial/show?id=2363
阅读全文
摘要:一、MAP1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。2、map的功能自动建立Key - value的对应。key 和 value可以是任意你需要的类型。根据key值快速查找记录,查找的复杂度基本是Log(N),如果有1000个记录,最多查找10次,1,000,000个记录,最多查找20次。快速插入Key - Value 记录。快速删除记录根据Key 修改value记录。遍历所有记录。3、使用map使用map得包含map类所在的头文件#include <ma
阅读全文
摘要:1.多重继承下的虚函数 (1) 1 #include "stdafx.h" 2 #include "Base.h" 3 4 class base1 5 { 6 public: 7 virtual void prinf() 8 { 9 printf("this is base1 print\n");10 }11 virtual ~base1()12 {13 printf("this is ~base1() \n");14 }15 };16 class base217 {18 public:19 virtu...
阅读全文
摘要:1.未命名空间 在C++中 我们可以用未命名的名字空间 unnamed namespace 声明一个局部于某一文件的实体,未命名的名字空间以关键字 namespace开头,同为该名字空间是没有名字的,所以在关键字 namespace后面没有名字,而在关键字 namespace后面使用花括号包含声明块1 namespace {2 void swap( double *d1, double *d2 ) { }3 4 } 函数 swap()只在文件 SortLib.C中可见,如果另一个文件也含有一个带有函数swap()定义的未命名名字空间,则该定义引入的是一个不同的函数,函数 swap()...
阅读全文
摘要:C++中异常处理:1. 对异常的处理可以分为:异常检测与处理二个阶段。 能过try{}与catch(ecxptionclass &e){}来解决。int main(int argc, char *argv[]){ try { excptionclass expOne; //excptionclass expOne; throw expOne; } catch (excptionclass e) { printf(" catch (...)here \n"); } retu...
阅读全文
摘要:Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。下面举例说明什么是一对一的数据映射。比如一个班级中,每个学生的学号跟他的姓名就存在着一一映射的关系,这个模型用map可能轻易描述,很明显学号用int描述,姓名用字符串描述(本篇文章中不用ch
阅读全文
摘要:什么是拷贝构造函数拷贝构造函数是一种特殊的构造函数,它的形式如下。struct Test{ Test() { } Test(const Test& other) // 拷贝构造函数 { cout << "Copy constructor" << endl ; }};什么情况下调用拷贝构造函数以下几种情况会调用拷贝构造函数。以一个对象初始化另一个对象函数以某个对象为参数函数返回某个对象初始化序列式容器的元素struct Test{ Test() { } Test(const Test& other) { ...
阅读全文
摘要:成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚 1 重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与基类);(2)函数名字相同;(3)参数相同;(4)基类函数必须有virtual 关键字。示例 中,函数Base::f(int)与Base::f(float)相互重载,而Base::g(void)被Deri...
阅读全文

浙公网安备 33010602011771号