摘要: 多态性是面向对象程序设计的关键技术之一。利用多态性技术,可以调用同一个函数名的函数,实现完全不同的功能。若程序设计语言不支持多态性,不能称为面向对象的语言。在C++中有两种多态性:编译时的多态性:通过函数的重载和运算符的重载来实现的。运行时的多态性:在程序执行前,无法根据函数名和参数来确定该调用哪一个函数,必须在程序执行过程中,根据具体情况来动态地确定。它是通过类继承关系和虚函数来实现的。运行时的多态示例代码如下:#include using namespace std;class Animal{public: virtual void display() { cout displa... 阅读全文
posted @ 2014-04-09 17:59 wangke1020 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 本章的主题是渲染管线。渲染管线是什么意思呢?我去查了一下,百度百科里说, 渲染管线也称为渲染流水线或像素流水线或像素管线,是显示芯片内部处理图形信号相互独立的的并行处理单元。在某种程度上可以把渲染管线比喻为工厂里面常见的各种生产流水线,工厂里的生产流水线是为了提高产品的生产能力和效率,而渲染管线则是提高显卡的工作能力和效率。其作用是创建为 3D世界进行几何描述的 2D 图形并设定一个虚拟照相 机确定这个世界中哪一部分将被透视投影到屏幕上。 表现模型 3D世界中最基本的单元就是三角形,三角形可由其三个顶点坐标唯一确定。 三维坐标中每个点有x,y,z构成,而在Direct3D中,一个点不仅包... 阅读全文
posted @ 2014-04-08 09:30 wangke1020 阅读(750) 评论(0) 推荐(0) 编辑
摘要: 刚才在将一个vc++6.0迁移到vs2010下的时候,发现CTimer::Format总是报错,对比了下vc++6.0和vs2010下的同一个变量,结果变量的值不同。查了一下,发现time_t 在vc6.0和vs2010下的定义不一样。以下内容转自:http://blog.csdn.net/shengfang666/article/details/8485631time_t类型。在VC6下,该类型定义如下:typedef long time_t; /* time value */但在VS2010中定义如下:#ifndef _TIME_T_DEFINED#ifdef _USE_32... 阅读全文
posted @ 2014-04-02 10:40 wangke1020 阅读(640) 评论(0) 推荐(0) 编辑
摘要: 1.Direct3D概述 Direct3D的工作框架图如下图所示。 应用程序通过调用Direct3D的API来绘图,Direct3D不直接作用于图形设备,而是通过硬件抽象层(HAL,Hardware Abstraction Layer)操作图形设备。这样的好处是:Direct3D不需要了解图形设备的细节,只要图形设备支持HAL,Direct3D就可以操作该 图形设备。 1 bool supportsHardwareVertexProcessing; 2 // 如果为真,意味着硬件设备支持它 3 if ( caps.DevCaps & D3DDEVCAPS_HWTRANSFORMANDL 阅读全文
posted @ 2014-03-25 14:53 wangke1020 阅读(589) 评论(0) 推荐(0) 编辑
摘要: 三维空间向量 在D3DX库中,用D3DVECTOR3类表示三维空间的向量。向量支持+、-、*、/、==、!= 等各种运算。 计算向量大小(向量的模)我们利用D3DX库下面的函数便能计算向量的大小。FLOAT D3DXVec3Length(CONST D3DXVECTOR3* Pv); 标准化向量 标准化向量就是让向量的大小等于1, 即被叫做单位向量。我们利用D3DX的库下面的函数能标砖化向量。D3DXVECTOR3 *D3DXVec3Normalize(D3DXVECTOR3* pOut, // Result.CONST D3DXVECTOR3* pV // The vecotr to... 阅读全文
posted @ 2014-03-20 13:18 wangke1020 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 前几日在给一个进程守护程序添加定时重启功能时,需要获取当前的时间,在程序中调用了GetCurrentTime(),程序总是运行不正常,调试发现,通过GetCurrentTime()得到的时间是19xx年,时间明显是错误的。上网搜索了一下,才发现MFC中有两个函数。一个是CTime::GetCurrentTime(),另一个是GetCurrentTime().两个函数重名,但时间上返回值是不一样的。GetCurrentTime()的返回值是距离系统启动时的微秒数。CTime::GetCurrentTime()的返回值才是我们需要的当前的系统时间。 阅读全文
posted @ 2014-03-19 17:18 wangke1020 阅读(1934) 评论(0) 推荐(0) 编辑
摘要: VC编写在windows7下以管理员权限运行的程序.转自:http://hi.baidu.com/zifan/item/40310b165d33d3ce38cb305f方法一: VC6:导入manifest文件 1.新建一文件命名为 xxx.manifest.内容如下: 注:此文件只要扩展名是.manifest文件名可以任意。文件内容的name属性值也可以为任意。(VC6.0下经过测试)2.把此文件"import"到资源文件中,资源类型为24,资源ID为1,注:经测试资源类型必须为24,资源ID也必须为1,3.重新编辑即可,... 阅读全文
posted @ 2014-03-19 15:22 wangke1020 阅读(418) 评论(0) 推荐(0) 编辑
摘要: 起因最近用mfc做了不少小软件,界面上都是基于CDialog或者CFormView,界面不能缩放一直是问题。一个办法是在OnSize()里面调用所有控件的MoveWindow()函数,根据比例调整控件大小。但是在界面上控件比较多的时候,这个发放就显得很繁琐了。于是我写了一个CAutoResize类,去实现控件的统一缩放。工作原理原理上很简单,对于MFC中的CDilalog,它的信息都存在程序文件夹下的XXX.rc中,XXX是项目名称。如下图所示,CAutoResize类首先就读取XXX.rc,先获取控件长宽信息,dlgWidth和dlgHeight。然后获取相应控件上的ID,x和y坐标,控件宽 阅读全文
posted @ 2014-01-21 10:54 wangke1020 阅读(2228) 评论(1) 推荐(0) 编辑
摘要: 机器学习学习笔记(2)---感知器学习算法机器学习学习笔记(2)---感知器学习算法上文所说的学习过程中,要有用来学习的数据和一个用于学习的假设函数h。还是以发行信用卡为例,客户的资料为输入x, 最后的结果是要么给该客户办理信用卡,要么就不给。输出为{+1, -1}。x = (x1, x2, ... , xd), x中不同的项代表该客户的不同属性。由着d个数可以计算出一个加权的“分数”办理银行卡 ∑di=1wixi>阈值不给办理 ∑di=1wixi<阈值输出y:{+1(good), -1(bad)}, 0忽略。线性假设函数为:h(x)=sign((∑di=1wixi)−thresh 阅读全文
posted @ 2014-01-20 20:03 wangke1020 阅读(1595) 评论(0) 推荐(0) 编辑
摘要: 什么是机器学习 阅读全文
posted @ 2014-01-02 12:33 wangke1020 阅读(296) 评论(0) 推荐(0) 编辑