代码改变世界

虚基类的用法

2011-03-15 15:14 by bingcaihuang, 991 阅读, 0 推荐, 收藏, 编辑
摘要:由类A,类B1和类B2以及类C组成了类继承的层次结构。在该结构中,类C的对象将包含两个类A的子对象。由于类A是派生类C两条继承路径上的一个公共基类,那么这个公共基类将在派生类的对象中产生多个基类子对象。如果要想使这个公共基类在派生类中只产生一个基类子对象,则必须将这个基类设定为虚基类。虚基类的引入和说明 前面简单地介绍了要引进虚基类的原因。实际上,引进虚基类的真正目的是为了解决二义性问题。 虚基类说明格式如下: virtual <继承方式><基类名> 其中,virtual是虚类的关键字。虚基类的说明是用在定义派生类时,写在派生类名的后面。例如: class A { pu 阅读全文

理解虚基类 虚函数与纯虚函数的概念

2011-03-15 14:47 by bingcaihuang, 246 阅读, 0 推荐, 收藏, 编辑
摘要:引言 一直以来都没有写过一篇关于概念性的文章,因为我觉得这些概念性的东西书本上都有并且说的也很详细写来也无用,今天突发奇想想写一写,下面就和大家讨论一下虚基类、虚函数与纯虚函数,一看名字就让人很容易觉得混乱。不过不要紧待看完本文后你就会理解了。正文 虚基类 在说明其作用前先看一段代码C++代码classA{public:intiValue;};classB:publicA{public:voidbPrintf(){cout<<"ThisisclassB"<<endl;};};classC:publicA{public:voidcPrintf(){co 阅读全文

基于vs2005以上版本Qt程序发布的注意事项

2011-03-15 14:06 by bingcaihuang, 549 阅读, 0 推荐, 收藏, 编辑
摘要:最近发现了一个非常恼人的程序deployment的问题,估计大家有可能也会遇到,特此memo。问题的出现我觉得主要还是微软搞的花头太多, 一个不知所谓的manifest文件让本来简单的程序发布变得困难重重。 找了找关于manifest的介绍,貌似这个文件是用来描述程序或者库的依赖关系, 特别是对程序依赖的版本进行描述, 这样系统可以通过manifest的内容找到正确的库版本。 理论上讲这个dd确实是不错, 可以解决版本不兼容的问题, 保证程序运行的时候用的是指定版本的库。 不过实际操作起来麻烦事一箩筐。笔者对vs/windows编程十分之菜,可能理解的有所偏差, 欢迎指正。 大概也是从vs20 阅读全文

Qt pro工程文件 介绍

2011-03-14 09:20 by bingcaihuang, 818 阅读, 0 推荐, 收藏, 编辑
摘要:app - 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。lib - 建立一个库的makefile。vcapp - 建立一个应用程序的Visual Studio项目文件。vclib - 建立一个库的Visual Studio项目文件。subdirs - 这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。“app”模板“app”模板告诉qmake为建立一个应用程序生成一个makefile。当使用这个模板时,下面这些qmake系统变量是被承认的。你应该在你的.pro文件中使用它们来 阅读全文

C/C++怎样产生任意指定范围的随机数?

2011-03-12 14:00 by bingcaihuang, 20094 阅读, 0 推荐, 收藏, 编辑
摘要:srand(time(NULL));之后调用rand()即可得到0 ~ 32757范围的随机数包含头文件stdlib.h和time.h 或 cstdlib和ctime#include <stdlib.h>#include <time.h>或#include <cstdlib>#include <ctime>用下列公式即可得到指定范围[m,n]的随机数:r = rand()%(n - m + 1) + m;注意:n - m 的绝对值不能超过32767 阅读全文

在MFC,Win32程序中向控制台(Console)窗口输出调试信息

2011-03-12 13:54 by bingcaihuang, 11338 阅读, 0 推荐, 收藏, 编辑
摘要:在MFC程序中输出调试信息的方法有两种,一种是使用TRACE宏,可以向Output窗口输出调试信息;另一种是用MessageBox,弹出消息框来输出调试信息,但会影响程序的运行。其实有一种方法可以更为方便的输出调试信息,就是输出到控制台(Console)中,即不影响程序运行,又便于查看调试信息。方法如下:1、#include <conio.h>2、在需要开启控制台窗口的地方调用AllocConsole();//注意检查返回值3、在需要输出调试的时候调用_cprintf等函数如_cprintf("i=%d\n", i);4、关闭控制台的时候调用FreeConsol 阅读全文

Visual Studio与.net framework版本对应关系

2011-03-12 13:54 by bingcaihuang, 1120 阅读, 0 推荐, 收藏, 编辑
摘要:Visual Studio .net 2002 .net framework 1.0Visual Studio .net 2003 .net framework 1.1Visual Studio 2005 .net framework 2.0Visual Studio 2008 .net framework 3.5Visual Studio 2010 .net framework 4.0 阅读全文

在sql语句中的 type in (parem)的含义

2011-03-11 11:05 by bingcaihuang, 950 阅读, 0 推荐, 收藏, 编辑
摘要:SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束、默认值、日志、规则、存储过程等,每个对象在表中占一行。以下是此系统表的字段名称和相关说明。type in ()的例子:type in (N'P', N'PC')type in (N'U')Name,id,xtype,uid,status:分别是对象名,对象ID,对象类型,所有者对象的用户ID,对象状态。对象类型(xtype)。可以是下列对象类型中的一种:type in (N'P', N'PC')type in (N'U& 阅读全文

手机 SMS PDU 格式参考手册

2011-03-10 15:04 by bingcaihuang, 1033 阅读, 0 推荐, 收藏, 编辑
摘要:SMS with the SMS PDU-mode编者序版本变动历史1、绪论2、缩写词3、设置指令3.1 服务中心号码(+CSCA)3.2 选择消息服务(+CSMS)3.3 选择消息格式(+CMGF)4、SMS文本模式5、SMS PDU模式5.1 发送方SMS-Submit (Mobile Originated)5.1.1 向SIM卡存储区写入一条SMS(+CMGW)5.1.2 发送SIM卡存储区中的一条SMS(+CMSS)5.1.3 直接从终端设置发送SMS(+CMGS)5.2 接收方 SMS-DELIVER (Mobile Terminated)5.2.1 列取消息(+CMGL)5.2.2 阅读全文

int main(int argc, char* argv[])

2011-03-08 10:04 by bingcaihuang, 329 阅读, 1 推荐, 收藏, 编辑
摘要:argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数,比如: intmain(int argc,char* argv[]) { int i; for(i=0;i<argc;i++) cout<<argv[i]<<endl; cin>>i; return 0; } 执行时敲入 F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE aaaa bbb ccc ddd 输出如下: F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE aaaa bb 阅读全文
上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页