自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

卡尔

路漫漫其修远兮 吾将上下而求索

  • 博客(168)
  • 资源 (37)
  • 收藏
  • 关注

原创 C++中的虚继承

多继承中被当做基类来虚继承的类是虚基类。虚基类:使用关键字virtual继承的基类。即使同一类在层次中作为虚基类出现多次,派生类对象中虚基类部分也只出现一次。在非虚基类中,构造函数只能初始化自己的直接基类,当对一个类进行虚继承的时候,由最底层的派生类初始化那个类,因此最底层的派生类应包含用于其他所有虚父类的初始化式。在这里有四个类:Point ,PointA,PointB,DerivedP

2012-11-25 22:42:27 3190

原创 C++中的多继承

多重继承:类有多个直接基类的继承。派生类继承所有基类的成员,通过在派生列表中指定多个基类而定义多个基类,每个基类需要一个单独的访问标号。若不定义访问标号,默认为private。class DerivedPoint :public PointA,public PointB {};派生类构造函数初始化所有基类构造函数初始化式只能控制用于初始化基类的值,不能控制基类的构造

2012-11-25 21:40:49 6717 1

原创 C++中的异常处理(三)

查看普通函数的声明的时候,不可能知道该函数会抛出什么异常,但是在捕获异常的时候要知道一个函数会抛出什么样的异常,以便捕获异常。异常说明:指定,如果函数抛出异常,抛出的异常将是包含在该说明中的一种,或者是从列出的异常中派生的类型。1.定义异常说明异常说明跟在形参表后。一个异常说明在关键字throw之后跟着一个由圆括号括住的形参列表,该列表可能为空或者多个,若为多个,则用逗号分开。例如:

2012-11-24 23:00:36 2631 1

原创 C++中的异常处理(二)

先看下面的代码:int main(){ int *i=new int(10); /* 这中间的代码出现异常 */ delete i; return 0;} 如果出现了这样的情况,动态分配的内存就不会被释放。为了处理这样的问题,可以使用C++标准库auto_ptr类。如果使用下面的代码,内存就一定会被释放#includeint ma

2012-11-24 20:56:54 2996 4

原创 C++中的异常处理(一)

异常就是运行时出现的不正常,例如运行时耗尽了内存或遇到意外的非法输入。异常存在于程序的正常功能之外,并要求程序立即处理。不能不处理异常,异常是足够重要的,使程序不能继续正常执行的事件。如果找不到匹配的catch,程序就调用库函数terminate。 如果不处理异常将会出现上图的效果。下面是处理异常的代码:#includeusing namespace std;int mai

2012-11-23 21:21:37 19453 2

原创 高仿微信气泡聊天

下面想看看效果图第一张效果图是打开就出现的效果,第二张效果图是发送之后的效果图。源代码下载:点击下载下面对实现细节说明一下,附带代码在Activity的布局文件中,包括3个部分,标题的布局,中间的ListView,下面的发送部分。下面是布局文件main.xml的代码:<LinearLayout xmlns:android="http://schemas.android.

2012-11-22 21:06:54 14369 2

原创 C++中的多态

C++中的多态分为四种1.参数多态这种多态包括函数模板和类模板2.包含多态这种多态就是C++面向对象编程的灵魂3.重载多态重载多态是指函数名相同,但函数的参数个数或者类型不同的函数构成多态4.强制多态这种多态是强制类型转换,司空见惯啊。 这里主要说的是C++面向对象编程的灵魂------包含多态。C++中面向对象编程的一个颇具讽刺的地方是,不能使用对象支

2012-11-21 13:56:13 4059 1

原创 C++派生类与基类的转换

每一个派生类对象包含一个基类部分,这就意味着可以像使用基类对象一样在派生类对象上执行操作。因为派生类对象也是基类对象,所以存在从派生类类型的引用到基类类型的自动转换,即,可以将派生类对象的引用转换为基类对象的引用,对指针也类似。基类对象既可以作为独立对象存在,也可以作为派生类对象的一部分而存在,因此,一个基类对象可能是也可能不是一个派生类对象的一部分,结果没有从基类引用到派生类引用的自

2012-11-20 21:26:10 3783

原创 C++派生类的构造函数和复制控制

派生类的构造函数和复制控制成员不能继承,每个类定义自己的构造函数和复制控制成员,像任何类一样,如果类没有定义自己的构造函数和复制控制成员,编译器自动合成。1.构造函数派生类的构造函数先要初始化基类的成员,然后初始化本类的成员下面定义一个Father类,头文件如下:#if !defined(AFX_FATHER_H__C5B84CD6_0B79_4806_BEDA_035EB4183

2012-11-19 21:11:54 6123

原创 C++继承方式与成员访问规则

既然派生类中包含基类成员和自己增加的成员,就产生了这两部分成员的关系和访问属性的问题,派生类对基类的成员访问方式有以下两种:内部访问:在派生类中访问基类的成员对象访问:派生类对象在类外部访问通过下面一张图片,简单明了的表示派生类对基类的访问规则 只有在基类中访问权限为public且继承方式为public的成员,派生类对象才能在外部访问基类的成员。

2012-11-19 20:07:54 2222

原创 C++操作符重载

重载操作符是具有特殊名称的函数:保留字operator后接需定义的操作符符号。除了函数调用操作符之外,重载操作符的形参数目(包括成员函数的隐式this指针)与操作符的操作数数目相同。函数调用操作符可以接受任意数目的操作数。 大多数操作符都可以重载,所以我列出不能重载的操作符,一共有四种:::                        .*

2012-11-18 21:04:41 2557

原创 C++复制控制之赋值操作符(二)

与类要控制初始化对象的方式一样,类也定义了该类型对象赋值时会发生什么,与复制构造函数一样,如果类没有定义自己的赋值操作符,则编译器会合成一个。重载操作符是是一些函数,其名字为operator后跟着所定义的操作符的符号。因此,通过定义名为operator=的函数,我们就可以对赋值进行定义赋值是二元运算,所以该操作符函数有两个形参:第一个形参对应左操作数,第二个形参对应右操作数。因为赋值操作是类的

2012-11-11 21:21:00 2740 1

原创 C++复制控制之复制构造函数(一)

只有单个形参,而且该形参是本类类型对象的引用(常用const修饰),这样的构造函数称为复制构造函数。与默认的构造函数一样,复制构造函数由编译器隐式调用。如果我们没有定义复制构造函数,编译器就会为我们合成一个。与合成的默认构造函数不同,即使我们定义了其他构造函数,也会合成复制构造函数,合成复制构造函数将逐个成员初始化。下面是代码:Student.h头文件#if !defined(AFX_

2012-11-10 23:34:27 1774

原创 C++文件操作

C语言上是C++的子集,所以C++操作文件可以使用C语言的函数。C++的fstream类提供了对文件的操作,但是不常用,C++操作文件的时候用C语言的函数还是方便一些。C语言使用FILE结构体操作文件,使用FILE结构体时,需要包含头文件#include下面的代码是一个示例#include#include#includeusing namespace std;int

2012-11-07 22:47:08 1985 1

原创 C++中的友元

友元机制允许一个类将其非公有的成员的访问权授予指定的函数或者类。友元的声明以关键字friend开始。它只能出现在类定义的内部。友元声明可以出现在类中的任何地方:友元不是授予友元关系的那个类的成员,所以他们不受其声明出现部分访问控制的影响。如果在class  Student{private:int age;string name;friend class Teacher;

2012-11-06 21:14:27 1910

原创 C++标准库set类型

set容器只是单纯的键的集合,键必须为一。set容器不支持下标操作,而且没有定义maped_type类型。在set容器中,value_type不是pair类型,而是与key_type类型相同的类型。1.在set中添加元素set set1;set1.insert("the");set1.insert("end"); 也可以添加一对迭代器,如下:set1.insert(se

2012-11-06 10:53:20 5833

原创 C++标准库map类型

map是键-值对的集合。map类型通常可以理解为关联数组:可以使用键作为下标获取一个值,正如内置数组一样。而关联的本质在于元素的值于某个特定的键相关联,而并非通过元素在数组中的位置获取。1.map对象的定义要使用map对象,则必须包含map头文件。在定义map对象时,必须分别指明键和值得类型map word_count;          string为键,int为值map的构

2012-11-05 10:50:47 6725

原创 C++标准库pair

与关联容器相关的模板类型,包含两个数据成员,在utility头文件中定义.pair类型提供的操作:pair p1;pair p1(v1,v2);make_pair(v1,v2);p1 p1 == p2;p.first;p.second; 1.创建和初始化:   pair name;   pair> data;以上全部调用pair类型的默认构造函对

2012-11-05 09:21:14 8544

原创 Android仿QQ主界面

Android版的QQ使用的是ViewPager实现的,主要是可以实现TabHost的界面,但功能比Tabhost更好,因为可以实现用手滑动实现界面的切换。QQ的截图如下:      下面我来实现这个效果工程下载:点击下载1.首先使用Google的附加库android-support-v4.jar,这个库,点击下载。2.XML布局文件

2012-10-28 00:14:38 13437 4

原创 Android用户定位(二)

1.获取设备支持哪些定位功能获得LocationManager之后,通过List list=lm.getAllProviders();for(String p:list){ System.out.println(p);}获得设备支持的定位功能2.选择你所需要的定位方式通过Criteria来筛选定位功能Criteria c=new Criteria();

2012-10-19 19:42:16 1995

原创 Androd用户定位(一)

使用GPS定位的话,需要如下权限:如果使用WIFI接入点定位的话,需要如下权限:或者首先使用LocationManager lm=(LocationManager) this.getSystemService(Context.LOCATION_SERVICE);lm.requestLocationUpdates(LocationManager.GPS_PROVIDE

2012-10-19 19:18:37 7583

原创 C++栈和队列

使用标准库的栈和队列时,先包含相关的头文件#include#include定义栈如下:stack stk;定义队列如下:queue q;栈提供了如下的操作s.empty() 如果栈为空返回true,否则返回falses.size() 返回栈中元素的个数s.pop() 删

2012-10-19 16:19:26 75995 14

原创 C++指向函数的指针

函数指针是指指向函数而非指向对象的指针。像其他指针一样,函数指针也指向某个特定的类型。函数类型由其返回类型以及形参表确定,而与函数名无关。int (*pi)(const string &,const string &);这个语句将pi申明为指向函数的指针,它所指向的函数带有两个const string& 类型的形参和int类型的返回值。*pi两侧的园括号是必须的:int *pi(c

2012-10-18 19:35:16 6742

原创 JSP返回的关键代码

String xmlStr = sb.toString(); if (xmlStr != null && !"".equals(xmlStr)) { response.setContentType("text/xml;charset=UTF-8"); response.getWriter().write(xmlStr); response.flushBuffer(

2012-10-12 19:58:13 1391

原创 C style字符串

C style string(C风格字符串)的定义如下:C程序把指向以空字符结束的字符数组的指针视为字符串。在C++中,字符串字面值就是C风格字符串。C标准库定义一系列处理这种字符串的库函数,C++中将这些标准库函数放在cstring头文件中。由于C风格字符串本质上容易出错,C++程序应该优先使用C++标准库类string而少使用C风格字符串。C++标准库类string比C风格字符串更安全,效

2012-10-08 18:13:40 3888

原创 C++指向const对象的指针和const指针

1.指向const对象的指针我们可以通过指针来修改其所指对象的值,但如果指针指向的是const对象,则不允许使用指针来改变其所指的const值。C++要求指向const对象的指针也是const类型。const double *pd;                 //可以指向一个const double类型。 这里的const限定的是pd所指的对象,而不是pd。这里的pd是可以重

2012-10-08 13:30:44 7042

原创 Android操作蓝牙

1检测一个设备是否有蓝牙设备,开启蓝牙设备,获取配对的设备这些操作需要权限下面是判断是否有蓝牙设备,是否开启蓝牙,若没有开启则请求开启蓝牙BluetoothAdapter ba=BluetoothAdapter.getDefaultAdapter(); if(null!=ba) { System.out.println("本机有蓝牙设备"); i

2012-10-07 20:24:15 4464

原创 Android管理WIFI

首先,需要权限 WIF的状态在WifiManager中定义了常量,都是public static final int类型的,如下public static final int WIFI_STATE_DISABLEDWi-Fi is disabled.Constant Value: 1 (0x00000001)public static f

2012-10-07 12:29:53 5848

原创 Android使用ViewPager实现左右滑动效果

使用ViewPager用使用android的兼容包,android-support-v4.jar。工程源代码下载:点击下载在res/layout下建立三个文件first.xml,second.xml,third.xml,随便加入一些控件main.xml文件的布局如下:<FrameLayout xmlns:android="http://schemas.android.com

2012-10-06 11:13:06 16590

原创 C++标准库vector及迭代器

vector是同一种对象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库将负责管理与存储元素相关的类存。引入头文件#include1.vector对象的定义和初始化vector v1 vector保存类型为T的对象。默认构造函数,v1为空vector v2(v1) v2是v1的一个副本vector v3(n,i)

2012-10-05 22:45:29 43302 1

转载 Android APK反编译详解

原文地址:http://blog.92coding.com/index.php/archives/106.html在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。一、反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI前者是将apk中的classes.dex转化成Jar文件,而JD-G

2012-10-05 09:41:47 1480

原创 C++标准库string类型

string类型支持长度可变的字符串,C++标准库将负责管理与存储与字符串相关的类容,以及提供各种有用的操作。标准库string类型的目的就是满足对字符串的一般应用。包含头文件#include1.string对象的定义与初始化string s1; 默认构造函数string s2(s1); 将s2初始化为s1的一个副本str

2012-10-04 22:26:22 7118

原创 Android自定义按钮样式

使得按钮在不同的状态有不同的背景图片是本篇的主要类容在res/drawable下新建一个buttonstyle.xml文件,这个文件用于描述按钮的样式 还有很多的样式如下图在布局文件中添加一个Button,使用buttonstyle.xml<LinearLayout xmlns:android="http://schemas.andro

2012-09-27 22:19:22 9066

原创 Android 时间和日期对话框

package com.zhycheng;import android.app.Activity;import android.app.DatePickerDialog;import android.app.Dialog;import android.app.TimePickerDialog;import android.os.Bundle;import android

2012-09-26 15:25:44 4746

原创 Android ContentProvider

ContentProvider提供了不同应用程序之间数据传递的接口,实现了不同应用程序之间的数据传递。我常见的ContentProvider比如通讯录,多媒体文件等等。这些是系统提供的ContentProvider。其实我们一般都是使用系统提供的ContenProvider,很少自己实现ContentProvider,不过自己实现ContenProvider会对系统提供的ContentProvid

2012-09-26 09:37:15 1424

原创 Android Service

Service与Activity的级别差不多,运行在后台,不与用户交互。Service是在主线程中,要在Service中运行好事的代码的话,为了不阻塞UI线程应该新创建一个线程。创建一个Service需要继承自Service:package com.zhychengsssd;import android.app.Service;import android.content.Inte

2012-09-23 01:18:15 1133

转载 android操作sdcard中的多媒体文件

原文地址:http://bbs.hiapk.com/forum.php?mod=viewthread&tid=1263558 当android的系统启动的时候,系统会自动扫描sdcard内的多媒体文件,并把获得的信息保存在一个系统数据库中,以后在其他程序中如果想要访问多媒体文件的信息,其实就是在这个数据库中进行的,而不是直接去sdcard中取,理解了这一点以后,问题也随着而来:如果我在开机

2012-09-22 11:32:28 1355

原创 Android SQLite

Android操作系统使用SQLite数据库,使用有两种方法获得数据库对象:1.获取已经存在的数据库SQLiteDatabase dbbrndi=SQLiteDatabase.openDatabase("/sdcard/zhycheng.db3", null,SQLiteDatabase.OPEN_READONLY);第一个String参数是数据库在文件系统中的位置,第二个参数一般

2012-09-22 09:28:19 4939

原创 Android的各种Toast

Toast仅仅是向用户做出一个提示,提示有各种各样的方式。下面将一一道来。1.最简单的ToastToast.makeText(this, "默认", Toast.LENGTH_SHORT).show();2.自定义显示位置的ToastToast t;t=Toast.makeText(this, "自定义显示位置", Toast.LENGTH_SHORT);

2012-09-21 22:17:48 2183

原创 Andriod 对话框

在Activity中可以调用showDialog()来显示一个对话框,覆盖Activity的onCreateDialog方法,在这个方法中创建对话框,返回一个Dialog对象。1.最简单的对话框AlertDialog.Builder b=new AlertDialog.Builder(this);b.setTitle("简单的"); b.setMessage("this is

2012-09-21 13:28:04 1756

高仿微信气泡聊天

仿照微信气泡聊天效果,android平台实现

2012-11-22

C++操作符重载

包含C++的算术操作符,关系操作符,下标操作符,自增操作符和自减操作符

2012-11-18

ViewPager实现Tabhost

ViewPager实现Tabhost效果

2012-10-27

蓝牙操作示例

蓝牙操作示例

2012-10-07

WIFIDemo操作

WIFIDemo操作

2012-10-07

ViewPager实现左右滑动效果

ViewPager实现动画左右滑动的效果,适合在第一次启动程序的时候给用户一个帮助

2012-10-06

Toast的示例工程

Toast的国中使用总结,很多很多的各种各样的Toast

2012-09-21

AndroidDialog工程示例

AndroidDialog工程示例

2012-09-21

Json数据解析工程

Json解析我的工程,用于解析Json的示例,有我两次编辑的结果,没有删除

2012-09-20

JSON解析Jar包

用于解析JSON的jar文件,博客使用google-gson-2.2.2-release.zip

2012-09-19

Java访问MySQL的驱动

java访问MySQL的驱动,为我的博文服务的下载。

2012-09-15

PopupWindow的用法

PopupWindow的使用,在一个Activity中显示PopupWindow,并使用一个Button来隐藏PopupWindow

2012-06-18

sqlite3 C++访问

使用C++操作SQLite数据库,在windows平台上,用C++语言

2012-06-15

超级俄罗斯方块

超级俄罗斯方块使用高效的代码,系统资源利用率极低,运行流畅。界面设计美观得体,音效配置优雅,玩游戏时轻松愉快。有普通模式和超级模式,方块样式多种多样,玩法不同,给你另外一种玩俄罗斯方块的体验。下载到手机,你值得拥有。

2012-04-27

贪吃蛇游戏

该源代码实现了贪吃蛇主要的功能,如蛇的行走,碰撞检测,吃到食物变长等等,至于其他的一些简单功能就没有实现,其实很简单的,如果你对贪吃蛇游戏感兴趣的话,你就把所有的功能都实现吧。

2012-03-11

LittleBee(小蜜蜂)

这个游戏是模仿小霸王上的小蜜蜂游戏,通过对该游戏的源代码的阅读,读者能够首席android平台游戏开发的一般方法,对自己的游戏开发有很大的提高,亲,5分不算多哦,只有下载了你就知道值还是不值,我和我的对有写了5个晚上才完成的啊。

2012-03-11

安卓添加桌面图标

这个是向android添加桌面图标的源代码,运行程序向android桌面添加一个桌面快捷方式,代码简洁,运行正确

2012-03-11

Java版俄罗斯方块

使用Java Applet开发的一个俄罗斯方块,该程序仅仅使用500行代码,包括源代码和可执行程序,点击Tetris.html就可以直接在浏览器中运行,相信大家都能看的懂。

2012-03-06

俄罗斯方块MFC

最简单的俄罗斯方块算法做出功能强大的俄罗斯方块,有消列的功能,有各种方块,相信大家都能看懂。

2012-01-04

C++操作lua

C++操作lua

2014-10-03

Android操作Excel

Android,操作Excel

2013-08-24

Java操作Excel

Java操作Excel

2013-08-24

cocos2d-x使用BMFont

cocos2d-x使用BMFont

2013-08-04

cocos2d-x curl联网

cocos2d-x curl联网

2013-06-18

cocos2d-x多线程

cocos2d-x多线程

2013-06-18

TexturePacker的使用

TexturePacker的使用

2013-03-16

cocos2d-x联网

cocos2d-x联网

2013-03-12

cocos2d-x操作数据库

cocos2d-x操作数据库

2013-03-04

【Cocos2d-x游戏引擎开发笔记(17)】实现运动的尾巴效果

【Cocos2d-x游戏引擎开发笔记(17)】实现运动的尾巴效果

2012-12-25

【Cocos2d-x游戏引擎开发笔记(15)】Tiled Map Editor(三)

【Cocos2d x游戏引擎开发笔记 15 】Tiled Map Editor 三

2012-12-21

【Cocos2d-x游戏引擎开发笔记(13)】Tiled Map Editor(二)

Cocos2d-x【Cocos2d-x游戏引擎开发笔记(13)】Tiled Map Editor(二)

2012-12-18

【Cocos2d-x游戏引擎开发笔记(13)】Tiled Map Editor(一)

【Cocos2d-x游戏引擎开发笔记(13)】Tiled Map Editor(一)

2012-12-17

粒子系统实现与用户交互

【Cocos2d-x游戏引擎开发笔记(12)】粒子系统实现与用户交互的特效

2012-12-14

Android控件拖动

android控件拖动

2012-12-04

Android使用ViewFlipper实现左右滑动效果面

Android使用ViewFlipper实现左右滑动效果面.

2012-12-04

TakePhoto.zip

Android调用相机程序和图片处理程序获得原图并且进行图片处理

2012-12-04

Android仿QQ主界面-------完善篇

实现QQ主界面的工程代码

2012-12-04

空空如也

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

TA关注的人

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