- 博客(24)
- 资源 (2)
- 收藏
- 关注

原创 VC++中不能为控件添加成员变量 深入本质
项目疑问提出问题1,在资源视图--右键单击--添加--资源,选择对话框后—在里面添加文本框时,不能为文本框添加成员变量。而在“解决方案资源管理器”中右键单击添加资源—对话框后,可以使用添加成员变量向导。为什么???(4-25)分析问题境界1:这是因为改了对话框ID,默认情况下可以添加成员变量,当改变了对话框ID后就不能添加成员变量了。境界2:原来是没有为对话框创建类。当创建类后
2012-04-25 11:42:02
6653

原创 重载 重写 隐藏
共同点:函数名相同定义:1)如果在类里函数名相同但是形参不同,则为重载。形参不同包括形参的类型个数以及顺序。2)类间。重写和隐藏都发生在基类和派生类之间。重写(覆盖):发生在派生类和基类之间。必须满足两个条件:(1)基类有virtual声明(2)函数名和形参必须完全相同。隐藏:发生在派生类和基类之间,必须满足以下两个条件:(1)派生类中函数名与基类相同(2)基类中没有virtu
2012-04-19 16:47:28
415

原创 双向循环链表
#include "stdafx.h"#include "BLinkList.h"#include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ int a[]={1,2,3,4}; int n; BLinkList blist(a,4); blist.PrintList(); n=3; blist.
2012-04-06 21:11:01
514

原创 GetWindowRect和GetClientRect本质
void GetClientRect( LPRECT lpRect ) const;作用:把CWnd客户区的客户坐标复制到lpRect指向的结构体中。返回值:如果函数成功,返回值为非零:如果函数失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。lpRect:指向RECT结构体或CRect类的指针,接受客户区的坐标。因为此坐标是相对于CWnd客户
2012-03-23 13:53:27
646
原创 开发心得
开发过程需求分析:做什么、为什么、合入版本、涉及软硬件、交付时间点、周边影响、风险识别等,分析完输出设计文档。用例表单:分析完成后要输出用例表单,考虑各种场景,用例表单未完成不可写代码。需求澄清:开发SE、测试SE、开发MDE、开发人员必须到场。开发人员就设计文档针对每个修改点和SE对齐,并提供开发的用例表单;测试人员提供测试用例表单。需求澄清完成后开发方案和测试方案应该达成一致。方案确定
2014-07-11 22:19:50
1263
原创 case语句中定义变量要加括号
map::iterator it; map::iterator itID; recv(AcceptSocket,(char*)&RecvBuf,sizeof(RecvBuf),0); switch(RecvBuf.Protocol) { case REGISTE: map::iterator it;//报错:it由“case”标签跳过 for(it=m_mUserPasswor
2012-06-17 10:14:44
2816
原创 实例成员和静态成员
Instance成员和static成员(p318)实例变量/函数(instance variable):和一个类定义的实例(对象)密切相关。对同一个类的不同对象,其实例变量占有不同的存储空间。Static变量(static variable or class variable)用于一个类的所有实例共享数据。静态变量的存储空间是公用的。C++也支持static function。Rema
2012-05-03 22:17:59
6827
原创 非静态成员引用必须与特定对象相对
#pragma once// CDlgLoad 对话框class CDlgLoad : public CDialogEx{ DECLARE_DYNAMIC(CDlgLoad)public: CDlgLoad(CWnd* pParent = NULL); // 标准构造函数 virtual ~CDlgLoad();...public: afx_msg void On
2012-05-03 22:16:49
52953
2
原创 vector包含问题
无论在控制台还是在MFC,在用到vector时,要包含头文件并且要用到命名空间std,即#includeusing namespace std;........注意:string也是命名在std里#includeusing namespace std;......
2012-04-26 22:28:45
628
翻译 CDatabase::ExecuteSQL()
CDatabase::ExecuteSQLCall this member function whenyou need to execute a SQL command directly.当你要直接执行SQL命令的时候就访问这个成员函数void ExecuteSQL( LPCTSTR lpszSQL );lpszSQL Pointer to anull
2012-04-26 16:59:21
4413
原创 CDBVariant 类
CDBVariant 类Represents a variant data type for the MFC ODBC classes.代表一个MFC ODBC类的可变数据类型class CDBVariantRemarksCDBVariant does not have abase class. 没有基类CDBVariant is similar to
2012-04-25 19:38:20
2992
原创 CRecordset::IsBOF和CRecordset::IsEOF
CRecordset::IsBOF和CRecordset::IsEOFIsBOF作用:如果记录集定位于第一个记录之前,返回非零。此时没有当前记录。BOOL IsBOF( ) const;返回值:如果记录集没有记录,或者你已经向前游动到第一个记录之前,则返回非零;否则返回0.RemarksCall this memberfunction before you
2012-04-25 18:46:07
3715
原创 CDialog::DoModal
CDialog::DoModalCall this member function toinvoke the modal dialog box and return the dialog-box result when done.访问这个成员函数来调用模式对话框,调用完成后返回对话框结果virtual INT_PTR DoModal( );Return ValueA
2012-04-23 11:53:47
2891
原创 创建类时类名不能含有模版参数
#pragma oncetemplateclass Node //应该为class Node,否则{public: T data; Node *lch; Node *rch; Node():lch(NULL),rch(NULL){} //Node *Search(Node *R,T key);};templateNode* Search(Node *R,T key)
2012-04-21 10:05:11
2239
原创 添加变量向导
”添加变量”向导方法:将光标放在空间上面,右键单击,选择”添加变量" 1,”控件变量”复选框若选中,则添加的为指定控件的成员变量;否则,基类的成员变量。2,控件ID:可以指定为那个控件添加成员变量3,”类别”组合框(假设”控件变量”选中)下拉菜单中有两种类型:value和control。若选择control,则变量类型只有一种可选,表示此时添加的变量名是控件的一个引
2012-04-12 21:29:50
1079
原创 循环队列
// 循环队列.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include"CircleQueue.h"#includeusing namespace std;int _tmain(int argc, _TCHAR* argv[]){ CircleQueue cq; cout << "请输入入队元素: "; int i; cin
2012-04-09 22:57:26
332
原创 链栈
// 链栈.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "LinkStack.h"#includeusing namespace std;int _tmain(int argc, _TCHAR* argv[]){ LinkStack stack; int i; cout << "请输入入栈元素: "; cin >>
2012-04-09 18:56:45
365
原创 约瑟夫环实验报告
// 约瑟夫环.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#include "LinkList.h"using namespace std;templatevoid Josephus(Node *first, int n){ Node *temp = NULL; cout << "离座顺序: "; while(fir
2012-04-08 17:28:29
7022
原创 顺序表和链表的比较
一,时间性能的比较顺序表由数组实现,是一种随机存取结构,对表中任意节点存取操作时间复杂度为O(1)。而查找链表的节点,须从头指针开始沿链扫描,平均时间复杂度为O(N).因此,若线性表的操作主要是查找,很少进行插入或删除操作,采用顺序比较合适。 对于链表,对某个节点进行插入删除操作只需修改指针,无需大量移动元素,平均时间复杂度为O(1)。而顺序表在插入或删除时,需要大量移动数据元素,
2012-04-06 23:21:25
1878
原创 单向循环链表
// 单向循环链表.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#include "CLinkList.h"using namespace std;int _tmain(int argc, _TCHAR* argv[]){int a[]={1,2,3,4,5};int n=5;/*测试空链表*
2012-03-29 23:21:36
609
原创 九九乘法表
#include#includeusing namespace std;int _tmain(int argc, _TCHAR* argv[]){for(int i=1;i{for(int j=1;j{if(j==1)cout elsecout }cout }return 0;}总结:if(j==1)cout
2012-03-29 13:06:51
350
原创 计算a+aa+aaa +...+aa...a
#includeusing namespace std;int add(int a,int n){int sum=0;int s=0;for(int i=0;i{s = s*10 + a;sum += s;}return sum;}int _tmain(int argc, _TCHAR* argv[]){int a=1;i
2012-03-29 12:59:17
1685
原创 exit和return的区别和联系
函数名称:exit头文件:函数原型:void exit(int state)函数用途:程序中止执行,返回调用过程输入参数:state 0-正常中止,非0-非正常中止1,exit用于在程序运行的过程中随时结束程序,exit的参数是返回给OS的。main函数结束时也会隐式地调用exit函数。exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同
2012-03-28 19:18:16
485
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人