![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++机制
bufrfish
这个作者很懒,什么都没留下…
展开
-
函数调用方式 08.11.2
函数调用方式 我们知道在进行函数调用时,有几种调用方法,主要分为C式,Pascal式.在C和C++中 C式调用是缺省的,类的成员函数缺省调用为_stdcall。二者是有区别的,下面我们用 实例说明一下: 1. __cdecl :C和C++缺省调用方式 例子: void Input( int &m,int &n);/*相当于void __cdecl Input(int &m,int &n);*/ 以转载 2008-11-02 10:12:00 · 500 阅读 · 0 评论 -
函数调用的几个概念:_stdcall,_cdecl 08.11.2
左通过栈传递,被调用的函数在返回前清理传送参数的内存栈,但不同的是函数名的修饰部分(关于函数名的修饰部分在后面将详细说明)。 _stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。 2、C调用约定(即用__cdecl关键字说明)按从右至左的转载 2008-11-02 10:17:00 · 575 阅读 · 0 评论 -
VC++中的回调函数,即callback类型函数 08.11.2
使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数。而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作。至于如何定义回调函数,跟具体使用的API函数有关,一般在帮助中有说明回调函数的参数和返回值等。C++中一般要求在回调函数前加CALLBACK,这主要是说明该函转载 2008-11-02 10:19:00 · 993 阅读 · 0 评论 -
VC数据库编程 08.11.12
VC数据库编程中recordset type中的三个属性dynaset,snapshot,table的区别:dynaset类型的Recordset:可以对记录进行更新、新增、删除操作。可包含多个表的字段。 snapshot类型的Recordset:记录只读。可包含多个表的字段。 table类型的Recordset:只能对一个表的记录进行更新、新增、删除操作。 用DAO连Access数转载 2008-11-12 10:33:00 · 541 阅读 · 0 评论 -
VC6.0 删除旧类,添加新类的方法 08.12.4
1.删除.cpp 和.h文件2.删除.clw文件 3.在IDE环境中,删除.cpp 和.h文件 4.在IDE环境中,重新生成 .clw 文件5.在IDE环境中,添加新类原创 2008-12-04 15:11:00 · 534 阅读 · 0 评论 -
构造函数的两种初始化成员变量的方法 09.2.23
构造函数的两种初始化成员变量的方法 class demo(){ public: //构造函数在下面添加 private: int x; int y; std::string name; }; 构造函数初始化成员有两种方法 A.使用构造函数的初始化列表进行初始化 格式:funname(参数列表):(初始化列表){} 初始化列表: 成员名1(形参名1),成员名2(形参名2),成员名转载 2009-02-23 09:45:00 · 953 阅读 · 0 评论 -
类成员初始化问题 09.2.23
由于初始化顺序是从基类到派生类的 基类的构造函数负责初始化基类与派生类的构造数负责初始化派生类, 在MFC中N层继承类库中,都是不同层中的类负责初始化自己本身和调用上一级构造函数进行初始化 如何在派生类初始化从基类中继承来的protected成员和基类的private成员呢? 答案是: 在派生类的构造函数间接的调用基类构造函数来实现,派生类的初始化列表必须明确指出基类的初始化式 1.无参数的构转载 2009-02-23 10:01:00 · 508 阅读 · 0 评论