2012-08-08 13:25
⁄ 工业·编程
⁄ 共 1050字
一、typedef的用法
typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: typedef int INT; typedef int ARRAY[10]; typedef (int*) pINT; typedef可以增强程序的可读性,以及...
c++阅读全文
2012-08-08 13:23
⁄ 工业·编程
⁄ 共 1058字
我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面的两个类:
class ClxBase { public: ClxBase() {} virtual ~ClxBase() { cout<<" 基类析构函数始终会被调用的"<<endl;}
&...
c++阅读全文
2012-08-08 13:20
⁄ 工业·编程
⁄ 共 2385字
1.用VC建立一个WIN32 DLL
我们利用VC编写DLL有几种方法.如果用VC建立一个WIN32 DLL 工程.那这个工程就应该只导出C++的类或全局变量.和全局函数.方法就是在CPP文件中编写你的代码,为每个需要导出的元素进行导出办法是增加如下语句:
_declspec(dllexport)
你当然可以把它定义成宏
例如,如果是一个类STUDENT需要导出, 那么声明时应该是这样写 class _declspec(dllexport) student;
当然也可以定义时直接导出.
我们的客户端,也就是...
VC阅读全文
2012-08-08 13:18
⁄ 工业·编程
⁄ 共 3957字
1、在cpp文件中调用c文件中实现的函数的时候,需要用extern "C"声明该函数,否则cpp会按名字改编后的函数名去找该函数而找不到。(这是作用)
c文件中有一函数: void Transfer(int a; char b); cpp文件中必须用extern "C"声明该函数如下才可以实行调用: ...
c++阅读全文
2012-08-08 13:07
⁄ 工业·编程
⁄ 共 578字
如果这样定义对象:MyClass obj; 那么它的构造函数将会被执行,如果调用obj.MyMethod();也会执行正确。
可是如果带有括号:MyClass obj(); 那么它的构造函数不会被执行,调用obj.MyMethod();也会出现语法错误,请问这种语法是把obj定义成什么了?
#include <iostream> class MyClass { public: MyClass() { ...
c++阅读全文
2012-08-08 13:01
⁄ 工业·编程
⁄ 共 837字
为什么C程序中定义结构时经常要用到typedef呢?如: typedef struct _AM_WIN_MenuText { int idc; int message; } AM_WIN_MenuText; 为什么不直接把结构名定义为AM_WIN_MenuText然后使用就可以了。 取个类型的别名有什么作用呢? --------------------------------------------------------------- 那是因为不取别名的话,每次定义都要加struct --------------------...
c++阅读全文
2012-08-08 12:58
⁄ 工业·编程
⁄ 共 431字
break和continue的区别如下:
1. break可用于switch语句,表示跳出整个switch块,而continue则不能用于switch语句 2. 它们都可用于循环语句的循环体,所谓的区别也应该是它们对循环次数的影响不同。break用于立即退出当前循环,而continue仅跳过当次循环(本次循环体内不执行continue语句后的其它语句,但下次循环还会执行)。
举例说明 int i; int s = 0; for (int i = 1; i <= 10; i++) { if (i == 6) br...
c++阅读全文
2012-08-08 06:46
⁄ 工业·编程
⁄ 共 295字
//以下两个函数获取的是显示屏幕的大小,不包括任务栏等区域
int screenwidth=GetSystemMetrics(SM_CXFULLSCREEN); int screenheight=GetSystemMetrics(SM_CYFULLSCREEN);
//以下两个函数获取的是真正屏幕的大小,即实际的大小
int screenwidth_real=GetSystemMetrics(SM_CXSCREEN); int screenheight_real=GetSystemMetrics(SM_CYSCREEN);
//前两个函数获取的大小可能是1440*844 ,后两个获取的就是1440*900
VC阅读全文
2012-08-07 23:23
⁄ 工业·编程
⁄ 共 431字
在MFC中,都是以C++对象来操作窗口
而窗口是用句柄来标识的,这样就需要将窗口和C++对象关联起来
通过C++对象的成员变量m_hWnd来建立这种联系
如果一个窗口对象和一个窗口相关联了,那么我们要获取这个窗口对象(通常都是CWnd*形式),返回的就是一个持久的C++对象,
如果你要获取一个窗口(不是通过MFC类库创建的)的C++对象,那么MFC就会为你临时创建一个C++对象,返回其指针,这就是一个临时的对象。
作为临时对象,它在产生...
VC阅读全文
2012-08-07 23:18
⁄ 工业·编程
⁄ 共 1675字
WM_COMMAND产生的条件:点击菜单,点击加速键,点击子窗口按钮,点击工具栏按钮。这些时候都有command消息产生。
WM_COMMAND消息中有两个参数,wparam、lparam,定义如下:
wParam 高两个字节 通知码
wParam 低两字节 命令ID
lParam 发送命令消息的子窗体句柄。
对于菜单和加速键来说,lParam为0,只有控件此...
VC阅读全文