
VC杂文
文章平均质量分 64
风言
淫才
展开
-
面向对象编程,我的思想(下部)
<br />2.3深入探讨函数:<br />2.3.1构造函数、默认构造函数、缺省构造函数<br /> 对于上面的实例,它已经能完成绝大部分工作了,但它还是不完善的,还有许许多多的细节等到我们去完善!也许有的同学已经注意到了,当我创建完“jingwei”这个对象时,这个对象的所有的属性都是空的,也就是说:这个对象的姓名是未定的、年龄是未定的、性别是未定的、薪水是未定的、午餐也是未定的。而我们想把这些属性都添加上去,就还要用对象调用相应的方法,去一个个修改!天啊,这简直是太麻烦了!有没有什么好方法转载 2010-07-29 01:26:00 · 495 阅读 · 0 评论 -
STL中sort的用法举例
<br />date:2010-07-02<br /> 对象数组排序这里展示了两种方法,定义比较函数或通过重载比较运算符使得类本身是可以比较的,就像基本类型一样。<br /> 定义比较函数,既可以通过定义比较运算符(如operator <),也可以直接定义函数(如compare)。<br /> 重载运算符之后,可以在sort函数中通过less或greater或less_equal等来调整升序还是降序,默认是升序。<br /> 另外,重载运算符后,函数bool operator < 就不要了,否则用g转载 2011-03-02 15:46:00 · 4335 阅读 · 0 评论 -
VC++(MFC日期函数)
MFC提供了两个日期和时间类CTime和CTimeSpan,分别代表相对时间和绝对时间。CTime是基于格林威治平均时间(GMT)的,本地的时间由环境变量TZ决定。CTimeSpan代表了时间间隔。<br /> CTime类由下列成员函数:<br /> CTime()<br />创建一个CTime对象。<br /> GetCurrentTime()<br />由当前时间创建一个CTime对象。<br /> GetTime()<br />由CTime对象返回一个time_t变量。<br /> Get原创 2010-12-08 14:07:00 · 3921 阅读 · 0 评论 -
VC INI文件读写
VC中用函数读写ini文件的方法<br /><br /> ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组 成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。<br /><br /><br />一、向ini文件中写入信息的函数<br />1. 把信息写入系统的wi原创 2010-12-08 14:02:00 · 710 阅读 · 0 评论 -
善用GetLastError函数
<br /> 在编程过程中,当程序出现错误,却又不知道错误的原因时,可以使用GetLastError函数,它可以帮助你快速找到出错的原因和语句。<br /> 可以直接使用GetLastError函数得到错误代码,然后查找MSDN找到代码对应的错误原因,也可使用下面函数直接把错误原因显示出来:<br />void ShowErrMsg() <br /> { <br /> TCHAR szBuf[80]; <br /> LPVOID lpMsgBuf;<br />转载 2010-12-07 16:05:00 · 876 阅读 · 0 评论 -
字符串常量定义时的换行问题
如果我们在一行代码的行尾放置一个反斜杠,c语言编译器会忽略行尾的换行符, 而把下一行的内容也算作是本行的内容。这里反斜杠起到了续行的作用。<br /> 构建较长的字符串是续行的常见用途, 还有一个作用是定义跨行的宏。<br /> 如果我们不使用反斜杠,当我们试图初始化一个跨多行的字符串是,c语言编译器就会发出警告。如下面的语句所示:<br />char letters[] = {"abcdefghijklmnopqrstuvwxyz<br /> ABCDEFGHIJKLMNOPQRST原创 2010-10-18 15:16:00 · 7572 阅读 · 1 评论 -
关于C++ const 的全面总结
<br />C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。<br />Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。<br /> <br />一、Const作用<br /> 如下表所示:<br /><br />No.<br />作用<br />说明<br />参考代码<br />1<br />可以定义const常量<br /><br原创 2010-09-06 15:41:00 · 520 阅读 · 0 评论 -
线程同步 CCriticalSection(临界区类)
<br />线程同步 CCriticalSection(临界区类)<br /> <br />当多个线程访问一个独占性共享资源时,可以使用“临界区”对象。任一时刻只有一个线程可以拥有临界区对象,拥有临界区的线程可以访问被保护起来的资源或代码段,其他希望进入临界区的线程将被挂起等待,直到拥有临界区的线程放弃临界区时为止,这样就保证了不会在同一时刻出现多个线程访问共享资源。 <br />CCriticalSection类的用法如下:<br /> 定义CCriticalSection类的一个全局对象(以使各个线程均转载 2010-09-07 15:04:00 · 1147 阅读 · 0 评论 -
reinterpret_cast
reinterpret_cast是C++里的强制类型转换符。 操作符修改了操作数类型,但仅仅是重新解释了给出的对象的比特模型而没有进行二进制转换。 例如:int *n= new int ; double *d=reinterpret_cast (n); 在进行计算以后, d 包含无用值. 这是因为 reinterpret_cast 仅仅是复制 n 的比特位到 d, 没有进行必要的分析。 因此, 需要谨慎使用 reinterpret_cast. == =================原创 2010-09-07 13:18:00 · 1143 阅读 · 0 评论 -
C++赋值的两种形式
<br />C++赋值的两种形式<br /> C++支持两种初始化变量的形式:复制初始化(copy-initialization)和直接初始化(direct-initialization)。 <br /> 复制初始化语法用等号(=),直接初始化则是把初始化式放在括号中。 int ival(1024); //direct-initialization <br /> int ival = 1024; //copy-initialization, //此时如果原创 2010-09-06 14:54:00 · 1593 阅读 · 0 评论 -
assert() 函数用法
<br />assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: <br />#include <assert.h> <br />void assert( int expression ); <br />assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息, <br />然后通过调用 abort 来终止程序运行。 <br />请看下面的程序清单badptr.c: <br />#inclu转载 2010-09-03 14:50:00 · 894 阅读 · 0 评论 -
RGB宏详解
#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))这是个带三个参数的宏首先将r,g,b强制转换成BYTE型,之后g左移8位,b左移16位,并把结果分别强制转换成DWORD型,最后将r,左移8位后的g,还有左移16位后的b三者做按位或,所得的结果强制转换成COLORREF类型 分解后的表达式:((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g)))|(((DWORD)(BYTE)(b))))//-------原创 2010-08-30 13:29:00 · 10801 阅读 · 0 评论 -
HDC,CDC,CWindowDC,CClientDC,CPaintDC基础
<br /> <br />首先说一下什么是DC(设备描述表) <br />解:Windows应用程序通过为指定设备(屏幕,打印机等)创建一个设备描述表(Device Context, DC)在DC表示的逻辑意义的“画布”上进行图形的绘制。DC是一种包含设备信息的数据结构,它包含了物理设备所需的各种状态信息。Win32程序在绘制图形之前需要获取DC的句柄HDC,并在不继续使用时释放掉。 <br /><br />在c++ 编程中常会见到HDC,CDC,CClientDC,CPaintDC,CWindowDC这样转载 2010-08-30 11:08:00 · 980 阅读 · 1 评论 -
AssertValid和Dump 这两个函数的作用
<br />AssertValid函数是用来判断表达式的合法性或正确性,如果不正确或不合法则终止程序并返回相应的提示信息 <br /> 如AssertValid(t==0);//用来判断t是否等于0,如果t!=0则终止程序 <br /> Dump函数一般用来显示debug信息的,其函数中的内容一般在debug时,在debug窗口中才能看到。<br />CObject::AssertValid 成员函数提供对对象内部状态的运行时检查。尽管从 CObject 派生类时不需要重写 Asse转载 2010-08-18 14:39:00 · 1007 阅读 · 0 评论 -
|与||的区别
从网上介绍资料来看,|与||至少有两点区别:1、运算类型不一样, |是算术运算,它最终会返回个数,int 、long、、、。而||是逻辑运算符,它只返回两个结果TRUE或FALSE。2、运算规则不一样。|是算术运算符,它会计算表达式的每一个部分。||是短路表达式。只要有一个表达式为真那么就不再计算其下一个表达式。如:(a==b)|(B==C)会将|的前半部分和后半部通计算好了以后,再进行位或运算,最近返回计算结果。而(a==b)||(B==C)只要(a==b)为真,就立即返回。&和&&也是同理,只不过返回原创 2010-08-19 22:20:00 · 2488 阅读 · 0 评论 -
面向对象编程,我的思想(上部)
面向对象编程,我的思想<br />前言:<br />整理这份资料的目的是为了帮助我的同学能够更直观的理解面向对象的编程。让后来者能够少走一些弯路,但其中不免有许多漏洞及错误,也还请前辈提出宝贵的更改意见,毕竟交流会让我们不断的进步。<br />技术是日新月异的,他不会等待你的成长。技术要拿出来于别人交流,自己学是自己主观意识上的理解,有对有错!交流会让进步变得更快。我认为如果计算机的体系结构不发生革命性的变化,我们现在所应用的程序语言也就百变不离奇踪了!学编程学的是什么?思想!精通一门编程语言(最好是面向对转载 2010-07-29 01:22:00 · 464 阅读 · 0 评论 -
C++随机函数
C++随机函数(VC program): #include #include #include using namespace std; #define MAX 100 int main(int argc, char* argv[])转载 2011-09-08 13:50:15 · 715 阅读 · 0 评论