C++输入输出流

C++ I/O操作(输入输出流)1.用getline()读取输入行当程序使用cin输入时,cin用空白符和行结束符将各个值分开。如根据所需输入的值,可能需要读取一整行文本(其中包括空白符),则用getline().getlint的功能是从输入流中读取多个字符,并且允许指定输入终止字符,读取完成后,...

2009-09-21 23:30:00

阅读数 1071

评论数 0

虚基类、虚函数,对象内存分布

在Project Properties->C++->Command Line->Additional Options里面加上/d1reportSingleClassLayoutDerived编译时,可输出类Derived的内存布局。  非虚拟继承:在派生类对象里,按照继承声明顺序...

2009-09-06 23:13:00

阅读数 1505

评论数 0

虚基类

  当在多条继承路径上有一个公共的基类,在这些路径中的某几条汇合处,这个公共的基类就会产生多个实例(或多个副本),若只想保存这个基类的一个实例,可以将这个公共基类说明为虚基类.  classx1:virtual public x  {  //……  };  classx2:virtual publ...

2009-09-06 22:42:00

阅读数 323

评论数 0

C++多继承的二义性

单继承       派生类只从一个基类派生多继承       派生类从多个基类派生多重派生    有一个基类派生出多个不同的派生类多层派生    派生类又作为基类,继续派生出新的类   多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承。...

2009-09-06 20:28:00

阅读数 464

评论数 0

指向数组的指针与多维数组

指针可以指向复合类型,上一节讲了指向指针的指针,这一节学习指向数组的指针。以下定义一个指向数组的指针,该数组有10个int元素:int (*a)[10];和上一节指针数组的定义int *a[10];相比,仅仅多了一个()括号。如何记住和区分这两种定义呢?我们可以认为[]比*有更高的优先级,如果a先...

2009-09-06 13:00:00

阅读数 277

评论数 0

初始化const, static, const static, static const成员变量

class MyTestClass{public:    MyTestClass() : m_ciInt(1), m_csStr("MyStr")  // const成员变量,在ctor参数列表中初始化    {}public:    const int m_ciInt;   ...

2009-09-06 11:07:00

阅读数 280

评论数 0

Const,Const函数,Const变量,函数后面的Const

看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被co...

2009-09-06 10:44:00

阅读数 250

评论数 0

const对象和const函数

  当一个类的函数的参数表不同时,能重载函数,     当函数的const性不同时,也能重载函数。     如下所示:         #include   "a.h"//定义了CA类     class   CBigClass     {     public...

2009-09-06 10:26:00

阅读数 1477

评论数 0

MFC-窗口封装

MFC对Window作了一层比较浅的封装,其创建过程基本与SDK差不多。它简化了窗口的注册,并将窗口过程与类关联起来;后者是比较重要的封装,它使消息能够分流给“类的窗口过程”,既而通过消息映射,才能到达各个处理函数。       使用传统的SDK来创建一个窗口有点繁琐,伪代码是这样的:      ...

2009-09-03 12:01:00

阅读数 563

评论数 0

进入MFC讲坛的前言

在这里,我想谈谈自己学习MFC的一些体会。我是从1997年才开始在Window下编写程序的。在这之前,我编写过一些DOS程序,包括一个简单的全屏幕编辑器和一个带函数的表达式解释器,都是一些小的程序。Window 3.1流行后,我开始在它下面编写程序。从编写DOS程序到编写Window程序,需要从编...

2009-09-03 11:28:00

阅读数 249

评论数 0

消息处理

消息被寄送或者发送之后,将会按照一定的路线寻找合适的处理函数,以便得到处理,或者交由默认的窗口过程进行处理。本节将讨论消息在MFC中的处理过程。6.3.1  消息的接收寄送的消息一般存放在消息队列中,此消息队列在应用程序初始化时由操作系统所建立。通常,鼠标和键盘单击产生寄送消息,然后应用程序逐一地...

2009-09-03 11:17:00

阅读数 878

评论数 1

MFC 的生与死

MFCs Live:AfxWinMain()%1  //有My表示是自己的类   CWinApp * pApp=AfxGetApp();   AfxWinInit(...);   pApp->InitApplication();   pApp->InitInstance();★//CW...

2009-09-03 11:12:00

阅读数 400

评论数 0

窗口类、窗口类对象与窗口

 我们可以发现,SDK程序中多了一个HWND类型的变量hwnd。该变量用来保存由CreateWindowEx函数创建的窗口句柄,并将其作为参数传递给随后的显示窗口操作(ShowWindow函数)和更新窗口操作(UpdateWindow函数)。而我们自定义的实现代码中,CWnd类定义了一个HWND类...

2009-09-03 11:00:00

阅读数 1266

评论数 1

MFC的消息映射

MFC真可谓是件艺术品,不过刚开始学的时候一头雾水,竟不相信MFC是用C++的写出来的,最近有时间深入学习了MFC的消息映射,感觉收获不小,还是把学习成果记下来比较好。首先看看MFC的窗口类(如CWnd)与窗口过程。Windows是基于事件机制的,任何窗口都能发送和处理消息,每一个窗口都对应着自己...

2009-09-03 00:12:00

阅读数 515

评论数 0

MFC消息的路由-钩子函数

 用最基本的一句话概述,钩子函数起了很大作用。故事是这样的,有些漫长,也需要些耐心。MFC中消息分为3类: 1. WM_COMMAND:所有的UI组件和加速键都会产生这种消息,所有派生于CCmdTarget的类都有能力处理该消息 2. 标准消息:除WM_COMMAND之外的WM_xx消息都是标准消...

2009-09-02 23:04:00

阅读数 879

评论数 0

SetWindowsHookEx

 SetWindowsHookEx( idHook: Integer;  {钩子类型} lpfn: TFNHookProc; {函数指针} hmod: HINST;    {包含钩子函数的模块(EXE、DLL)句柄; 一般是 HInstance; 如果是当前线程这里可以是 0} dwThreadI...

2009-09-02 21:11:00

阅读数 249

评论数 0

为什么有时候程序在到达全局theApp时会先进入CWinApp呢?

工程名:Test按照一般的理解,加点调试时程序首先应该进入全局对象CTestApp  theApp。但有时候我们却发现程序首先进入的是CWinApp(。。。),这就让我们很难理解?????进一步调试发现此时 this指向一个叫 _afxOleWinApp的对象。看名子应该是一个全局对象。搜一下进入...

2009-09-01 23:36:00

阅读数 562

评论数 0

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