自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菲利克斯猫(Felix.mao)的IT技术专栏

喜欢专研IT技术`IT项目管理

  • 博客(25)
  • 资源 (14)
  • 收藏
  • 关注

原创 C/C++开发语言系列之26---C++复制(拷贝)构造函数

C++拷贝构造函数的细节在知道什么是拷贝构造函数前,先了解一下系统什么时候为我们创建默认的构造函数和拷贝构造函数构造函数、析构函数与赋值函数是每个类最基本的函数。它们太普通以致让人容易麻痹大意,其实这些貌似简单的函数就象没有顶盖的下水道那样危险。每个类只有一个析构函数 和一个赋值函数 ,但可以有多个构造函数 (包含一个拷贝构造函数 ,其它的称为普通构造函数 )。对于任意一个类 A

2012-11-24 18:11:22 3583

原创 C/C++开发语言系列之25---不能声明为虚函数的函数

一、首先回顾下什么是虚函数及其作用,以便更好理解什么函数不能声明或定义为虚函数:1. 定义:虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义中定义虚函数的一般形式:  virtual 函数返回值类型 虚函数名(形参表)  { 函数体 }2. 作用:虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合

2012-11-18 23:36:39 2151

原创 C/C++开发语言系列之24---C++关键字

方便查找之用关键字是预先保留的标识符,每个关键字都有特殊的含义。我们不能在程序中使用与关键字同名的标识符。以下是C++所保留的关键字 (66个)asmautobad_castbad_typeidboolbreakcasecatchcharclassconst

2012-11-18 22:43:26 2312

原创 C/C++开发语言系列之23---C++中虚析构函数的作用

我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明:        有下面的两个类:class ClxBase{public:    ClxBase() {};    virtual ~ClxBase() {};    virtual void DoSomething() { cout  "Do

2012-11-18 22:41:36 2166

原创 C/C++开发语言系列之22---C++纯虚函数1

转:http://blog.csdn.net/hackbuteer1/article/details/7558868首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必

2012-11-18 22:15:32 2076

原创 C/C++开发语言系列之21---C++函数指针的2个例子

今天闲来无事,做了两个C++测试用例1.  定义一种普通函数 类型2. 如何理解返回函数的函数1.#include typedef void funcType(); //定义一种普通函数 类型 ,正常开发中用函数指针类型void test(){ cout<<"test"<<endl;}/*funcType felixFunc(){ ret

2012-11-17 22:31:28 2247

原创 C/C++开发语言系列之20---C++类成员函数指针2

测试目录:1.普通函数指针指向普通函数2.普通函数指向非静态成员函数3. 类外部的 类函数指针 指向普通函数4. 类外部的 类函数指针 指向成员函数5. 类内部的 函数指针 指向成员函数 (类似于第2条)6. 类内部的 函数指针 指向普通函数直接上代码:#include #include #include #include using namespa

2012-11-17 16:41:55 4745

原创 C/C++开发语言系列之19---C++类成员函数指针

转 http://www.builder.com.cn/2008/0327/785349.shtml前言:在CSDN论坛经常会看到一些关于类成员函数指针的问题,起初我并不在意,以为成员函数指针和普通的函数指针是一样的,没有什么太多需要讨论的。当我找来相关书籍查阅了一番以后,突然意识到我以前对成员函数指针的理解太过于幼稚和肤浅了,它即不像我以前认为的那样简单,它也不像我以前认为的

2012-11-17 16:35:41 2395

原创 C/C++开发语言系列之18---C++中的虚函数2

1.首先:强调一个概念        定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。       定义一个函数为纯虚函数,才代表函数没有被实现。定义他是为了实现一个接口,起到一个规范的作用,规范继承这个。类的程序员必须实现这个函数。 2.关于实例化一个类: 有纯虚函数的类是不可能生成类对象的,如果没有纯虚函数则可以。

2012-11-17 00:07:08 2294

原创 C/C++开发语言系列之17---C++中的虚函数1

1.简介     虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public:    virtual void foo() { cout };class B: public A{public:    virtual void foo() { cout

2012-11-17 00:03:57 2055

原创 C/C++开发语言系列之16---C++不同类型数据间的转换

一、标准类型数据间的转换C++还提供显式类型转换,程序人员在程序中指定将一种指定的数据转换成另一指定的类型,其形式为   类型名(数据)如   int(89.5)其作用是将89.5转换为整型数89。对于用户自己声明的类型,编译系统并不知道怎样进行转换。解决这个问题的关键是让编译系统知道怎样去进行这些转换,需要定义专门的函数来处理。二、转换构造函数转换构造函数

2012-11-16 16:41:40 2330

原创 C/C++开发语言系列之15---C++类型转换函数

用转换构造函数可以将一个指定类型的数据转换为类的对象。但是不能反过来将一个类的对象转换为一个其他类型的数据(例如将一个Complex类对象转换成double类型数据)。C++提供类型转换函数(type conversion function)来解决这个问题。类型转换函数的作用是将一个类的对象转换成另一类型的数据。如果已声明了一个Complex类,可以在Complex类中这样定义类型转换函数

2012-11-16 12:41:23 2712

原创 C/C++开发语言系列之14---C++重载运算符

虽然重载运算符所实现的功能完全可以用函数实现,但是使用运算符重载能使用户程序易于编写、阅读和维护。在实际工作中,类的声明和类的使用往往是分离的。假如在声明Complex类时,对运算符+,-,*,/都进行了重载,那么使用这个类的用户在编程时可以完全不考虑函数是怎么实现的,放心大胆地直接使用+,-,*,/进行复数的运算即可,十分方便。对下面的运算符重载函数operator+还可以改写得更简练一些:

2012-11-15 09:25:06 2452

原创 C/C++开发语言系列之13---C++对象指针—指向对象的指针

在建立对象时,编译系统会为每一个对象分配一定的存储空间,以存放其成员。对象空间的起始地址就是对象的指针。可以定义一个指针变量,用来存放对象的指针。如果有一个类:class Time{   public :   int hour;   int minute;   int sec;   void get_time( );};void Time::get_ti

2012-11-12 22:14:06 2396

原创 C/C++开发语言系列之12---C++析构函数的定义和使用

析构函数(destructor)也是一个特殊的成员函数,它的作用与构造函数相反,它的名字是类名的前面加一个“~”符号。在C++中“~”是位取反运算符,从这点也可以想到:析构函数是与构造函数作用相反的函数。当对象的生命期结束时,会自动执行析构函数。具体地说如果出现以下几种情况,程序就会执行析构函数:①如果在一个函数中定义了一个对象(它是自动局部对象),当这个函数被调用结束时,对象

2012-11-12 21:48:57 4635 1

原创 C/C++开发语言系列之11---使用默认参数的构造函数

构造函数中参数的值既可以通过实参传递,也可以指定为某些默认值,即如果用户不指定实参值,编译系统就使形参取默认值。在构造函数中也可以采用这样的方法来实现初始化。例9.3的问题也可以使用包含默认参数的构造函数来处理。例9.4 将例9.3程序中的构造函数改用含默认值的参数,长、宽、高的默认值均为10。在例9.3程序的基础上改写如下:#include using namespace

2012-11-12 08:14:08 3665 1

原创 C/C++开发语言系列之10---C++中消息的另外一种理解

类的成员函数在面向对象程序理论中被称为“方法”(method),“方法”是指对数据的操作。一个“方法”对应一种操作。显然,只有被声明为公用的方法(成员函数)才能被对象外界所激活。外界是通过发“消息”来激活有关方法的。所谓“消息”,其实就是一个命令,由程序语句来实现。前面的stud.display( );就是向对象stud发出的一个“消息”,通知它执行其中的display“方法”(即disp

2012-11-12 07:45:00 1080

原创 C/C++开发语言系列之9---C++函数模板详解

C++提供了函数模板(function template)。所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。凡是函数体相同的函数都可以用这个模板来代替,不必定义多个函数,只需在模板中定义一次即可。在调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现了不同函数的功能。看下面的例子就清楚了。例4.7 将例4

2012-11-11 23:29:38 1686 1

原创 C/C++开发语言系列之8---C++内置函数详解

调用函数时需要一定的时间和空间的开销。图4.5表示函数调用的过程:C++提供一种提高效率的方法,即在编译时将所调用函数的代码直接嵌入到主调函数中,而不是将流程转出去。这种嵌入到主调函数中的函数称为内置函数(inline function),又称内嵌函数。在有些书中把它译成内联函数。指定内置函数的方法很简单,只需在函数首行的左端加一个关键字in

2012-11-11 23:25:47 2962

原创 C/C++开发语言系列之7---C++基类与派生类的转换

只有公用派生类才是基类真正的子类型,它完整地继承了基类的功能。基类与派生类对象之间有赋值兼容关系,由于派生类中包含从基类继承的成员,因此可以将派生类的值赋给基类对象,在用到基类对象的时候可以用其子类对象代替。具体表现在以下几个方面:派生类对象可以向基类对象赋值。可以用子类(即公用派生类)对象对其基类对象赋值。如   A a1; //定义基类A对象a1   B b1; /

2012-11-11 20:02:27 1374

原创 C/C++开发语言系列之6---C++派生类的声明或定义方式

声明派生类的一般形式为   class 派生类名:[继承方式] 基类名{派生类新增加的成员};继承方式包括: public (公用的),private (私有的)和protected(受保护的),此项是可选的,如果不写此项,则默认为private(私有的)。此外,在声明派生类时,一般还应当自己定义派生类的构造函数和析构函数,因为构造函数和析构函数是不能从基类继承的。派生类是基类

2012-11-11 10:56:23 3335

原创 C/C++开发语言系列之5---普通继承和虚基类构造函数的初始化顺序2

虚基类 : 如果某个派生类的部分或全部直接基类是从另一个共同的基类派生而来,在这些基类中,从上一级基类继承来的成员就有相同的名称,则在这个派生类中访问这个共同的基类中的成员时,可能会产生二义性,此时,可定义虚基类。这就要求在其直接基类的定义中,使用关键字 virtual 将那个共同的基类定义为虚基类,其语法形式如下:        class  派生类名:   virtual 派生方式 基

2012-11-10 15:05:39 2670

原创 C/C++开发语言系列之4---普通继承和虚基类构造函数的初始化顺序1

1、虚基类的作用从上面的介绍可知:如果一个派生类有多个直接基类,而这些直接基类又有一个共同的基类,则在最终的派生类中会保留该间接共同基类数据成员的多份同名成员。在引用这些同名的成员时,必须在派生类对象名后增加直接基类名,以避免产生二义性,使其惟一地标识一个成员,如    c1.A::display( )。在一个类中保留间接共同基类的多份同名成员,这种现象是人们不希望出现的。C++提

2012-11-10 15:03:21 1388

原创 C/C++开发语言系列之2--const用法总结2

转:const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议:“Use const whenever you need”。1.用const 修饰函数的参数如果参数作输出用,不论它是什么数据类型,也不论它采用“指针传递”还是“引用传递”,都不能加const 修饰,

2012-11-07 23:38:37 799

原创 C/C++开发语言系列之1--const用法总结1

转1. const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。例如:const i

2012-11-06 16:53:58 994

【2013/09/24更新】 playmaker 1.7.5

可视化脚本语言playMaker,具有高度有好的界面、整合性高、功能强大、修改容易等特点。开发者只需将集成的功能模块用连线的方式,通过逻辑关系将其连接,即可快速创建所需功能,非常适合非编程人员与项目制作使用。 即使不会编程也能够实现你的创意 对于初学者和专业人员,Visual状态机都是直观和功能强大的,程序员也热爱Visual状态机,它可以工作于Indie版和Pro版的unity。 新鲜货,喜欢的拿去吧。 Playmaker 直观的可视化编辑器 可快速的添加状态和行为,将状态和转移进行连接,并且管理事件和变量,用复制/粘贴来保存时间,集成了帮助信息。 强力的查错能力 实时错误检查器可以帮助你在点击开始运行游戏按钮之前找出错误,运行时查错允许你查看状态机的行为,在状态改变的过程中设置断点和步进,在游戏进行时观察变量,在任意时间发送事件和改变变量,利用日志窗口观看转移事件。 高度的可扩展性 编写自定义操作,它们就会出现在编辑器中。可以获得很多针对流行插件的自定义操作,用户社区在论坛和维基上进行共享,开源API允许你在代码中编写FSM。 Playmaker 官方售价:$45 插件大小:3.3MB

2013-09-25

【2013/09/19更新】 playmaker 1.7.4 更新

可视化脚本语言playMaker,具有高度有好的界面、整合性高、功能强大、修改容易等特点。开发者只需将集成的功能模块用连线的方式,通过逻辑关系将其连接,即可快速创建所需功能,非常适合非编程人员与项目制作使用。 即使不会编程也能够实现你的创意 对于初学者和专业人员,Visual状态机都是直观和功能强大的,程序员也热爱Visual状态机,它可以工作于Indie版和Pro版的unity。 新鲜货,喜欢的拿去吧。 Playmaker 直观的可视化编辑器 可快速的添加状态和行为,将状态和转移进行连接,并且管理事件和变量,用复制/粘贴来保存时间,集成了帮助信息。 强力的查错能力 实时错误检查器可以帮助你在点击开始运行游戏按钮之前找出错误,运行时查错允许你查看状态机的行为,在状态改变的过程中设置断点和步进,在游戏进行时观察变量,在任意时间发送事件和改变变量,利用日志窗口观看转移事件。 高度的可扩展性 编写自定义操作,它们就会出现在编辑器中。可以获得很多针对流行插件的自定义操作,用户社区在论坛和维基上进行共享,开源API允许你在代码中编写FSM。 Playmaker 官方售价:$45 插件大小:3.3MB

2013-09-22

NGUI2.6.5b Unity3d开发必备 截止9月10号,最新版本NGUI Next-Gen UI (NGUI),2.6.5!

NGUI是unity的一个插件,使用它来制作你的游戏UI必定将事半功倍。为什么这么说呢?首先我们说说GUI与NGUI的区别,GUI是Unity自带的绘制界面工具,它的成像原理是基于表层的,所以执行效率非常的低,并且没有提供复杂的UI的接口,就算开发者硬着头皮写上去只能让UI的执行效率更低。然而NGUI 完全依赖与3d就好比在游戏世界中的摄像机直直的照射在一个平面中,在平面之上再去绘制自己的UI,所以它的执行效率会非常高

2013-09-16

NGUI2..6.5b Unity3d开发必备

截止9月10号,最新版本NGUI Next-Gen UI (NGUI),2.6.5! NGUI是unity的一个插件,使用它来制作你的游戏UI必定将事半功倍。为什么这么说呢?首先我们说说GUI与NGUI的区别,GUI是Unity自带的绘制界面工具,它的成像原理是基于表层的,所以执行效率非常的低,并且没有提供复杂的UI的接口,就算开发者硬着头皮写上去只能让UI的执行效率更低。然而NGUI 完全依赖与3d就好比在游戏世界中的摄像机直直的照射在一个平面中,在平面之上再去绘制自己的UI,所以它的执行效率会非常高

2013-09-16

C++复制(拷贝)构造函数实验代码

C++复制(拷贝) 构造函数实验代码 每个类只有一个析构函数 和一个赋值函数 ,但可以有多个构造函数 (包含一个拷贝构造函数 ,其它的称为普通构造函数 )。对于任意一个类 A ,如果不想编写上述函数, C++ 编译器将自动为 A 产生四个缺省的函数(也只是在需要的时候才会产生)

2012-11-24

C++类成员函数指针2

1.普通函数指针指向普通函数 2.普通函数指向非静态成员函数 3. 类外部的 类函数指针 指向普通函数 4. 类外部的 类函数指针 指向成员函数 5. 类内部的 函数指针 指向成员函数 (类似于第2条) 6. 类内部的 函数指针 指向普通函数

2012-11-17

cocos2d-1.0.1-x-0.13.0-beta--android-ndk-windows构建批处理.zip

1. 请将文件放到cocos2d-1.0.1-x-0.13.0-beta目录下面 2. 打开build_android_ndk_tests.bat 文件 修改set NDK_ROOT=D:\Work7\android-ndk-r7c到你的NDK实际路径即可 3. jni/Application.mk 文件中加入 APP_MODULE : = android-4 4. 在jni目录中添加双击此批处理即可编译库文件 注1:0.13版本的cocosw2d-x 搭配 Eclipse 也可以使用这个批处理,不要使用NDK自带的ndk-build.cmd 注2:此批处理可以脱离Eclipse,只用NDK自带的编译器即可,这里只用来编译库,如果要打包到APK还是需要Eclipse的,将刚刚编译的库导入即可 上面讲解了两种方法,自行选择 build_android_ndk.bat 需要在开始 --&gt; 运行 后 运行的程序 方法有2: 方法1: 运行build_android_ndk.bat -C tests/test.android/jni 方法2: #cd tests/test.android/jni #..\..\..\build_android_ndk.bat 效果是一样的 脱离繁重的Cygwin

2012-04-17

Android TXT 阅读器

本软件自动识别文件编码,很大程度上方便了用户的操作,如果还显示乱码,请您尝试手动切换编码。 如果您对系统默认设置不习惯,可以尝试点击Menu切换编码,字体大小,文字颜色或背景样式,总会有一种适合您。 您可以通过手指滑动翻页,或通过物理方向按键,滚球来翻页...

2011-11-28

Cadence spb 15.7 安装说明详解

1. 安装的时候确保使用本机的网卡,不是无线网卡 *** 2. 确保系统时间在2006-08-27 到31-dec-2010 之间*** 超出的时间范围,暂时不知道怎么破解 3.解压的四个独立目录最好使用小写,和文档上一样 4. license 文件可以不用手动更改,按照文档上即可 SERVER this_host 001b248d2e4a 1800 DAEMON cdslmd 上面是我的license.dat 文件,机器名可以不改( this_host) 配置好相关的环境变量即可 5. 中途遇到启动失败等错误,可以重新start server 很多用户对 Cadence spb 15.7 的安装觉得困难,本人也曾尝试过这种痛苦,反复安装数 十次都未成功,功夫不负有心人,经过本人反复安装,反复研究,终于摸索到一种有效的安 装及破解方法。本人做事一向是比较认真执着,要嘛不做,要嘛就要做到最好,所以我本人 决心做一份详细的安装说明,我并不是为了想求得什么,只是我不想后面的人也象我这样痛 苦。本人经过呕心沥血,花了一番心思才做好这么一个关于 Cadence spb 15.7 的详细安装说 明。小弟也是菜鸟一个,还望各位多多指教。为免大家遇到同样的安装破解痛苦,本人将这 个详细的安装说明奉献给大家共亨。

2011-04-18

提供嵌入式经典资料下载地址(pdf)

包含了很多的嵌入式软件和文档的资源地址。里面还有经典电子,通信类视频教程的下载地址

2007-10-27

怎样安装uclinux –从源代码开始

从获得的源代码进行安装<br>不使用CD进行安装

2007-07-19

车载GPS导航

车载GPS导航系统的应用及功能

2007-06-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除