现在位置: 首页 > c++
2012-08-23 20:52 工业·编程 ⁄ 共 1031字 暂无评论
    在C#中定义了关键字sealed,被sealed修饰的类不能被继承。在Java中同样也有关键字final表示一个类型不能被继承。在C++中没有类似于sealed和final的关键字,所以我们只有自己来实现。     很多人都能够想到,类的构造函数和析构函数是关键。因为子类的构造函数会自动调用父类的构造函数。子类的析构函数也会自动调用父类的析构函数。所以要想使一个类不能被继承,只有把它的构造函数和析构函...
阅读全文
2012-08-23 20:43 工业·编程 ⁄ 共 1245字 暂无评论
首先,运行下图中的C++代码,输出是什么? class A  {  private:      int n1;      int n2;  public:      A(): n2(0) , n1(n2 + 2)      {      }      void Print()      {          cout<<"n1:"&l...
阅读全文
    在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识。 但是如果我问你“拷贝构造函数的参数为什么必须使用引用类型?”这个问题, 你会怎么回答? 或许你会回答为了减少一次内存拷贝? 很惭愧的是,我的第一感觉也是这么回答。不好还好,我有理性这个好品质。思索一下以后,发现这个答案是不对的。 原因:     如果拷贝构造函数中的参数不是...
阅读全文
2012-08-22 23:21 工业·编程 ⁄ 共 349字 暂无评论
┏━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ 代 码 │ 意 义 ┃ ┠————┼———————————————————┨ ┃ %a │读浮点值(仅适用于 C99) ┃ ┃ %A │读浮点值(仅适用于 C99) ┃ ┃ %c │读单字符 ┃ ┃ %d │读十进制整数 ┃ ┃ %i │读十进制、八进制、十六进制整数 ┃ ┃ %e │读浮点数 ┃ ┃ %E │读浮点数 ┃ ┃ %f │读浮点数 ┃ ┃ %F │读浮点数(仅适用于 C99) ┃ ┃ %g │读浮点数 ┃ ┃ %G │读浮点数 ┃ ┃ %o │读八进制数 ┃ ...
阅读全文
2012-08-22 22:52 工业·编程 ⁄ 共 30287字 暂无评论
在前一篇中,我有提到应用程序关联的方法,归根结底就是在注册表中添加了相应的内容。但这样有个不好的地方,就是会在注册表中留下很多垃圾信息。怎样在调试完程序后,自动清除注册表中冗余的信息呢?我在这里提供一个简单的方法,与大家分享哈。 》》》VC文件关联小结 (一)跟大家介绍一个c++的注册表操作的封装类 1.注册表项RegEntry.h // CRegEntry: interface for the CRegEntry class. // ///////////////////////////...
阅读全文
2012-08-22 22:50 工业·编程 ⁄ 共 1280字 暂无评论
最近的工程中要用到了vc中关于文件关联的操作,费了不少周折,这里就简单做一个小结。 使用EnableShellOpen自动完成注册表的注册信息 这种情况下,只需要在CWinApp子类的InitInstance函数中添加如下代码就行 // Enable DDE Execute open EnableShellOpen(); RegisterShellFileTypes(TRUE); 通常情况下,也有加上这句的必要 // Enable drag/drop open m_pMainWnd->DragAcceptFiles(); 下面以MDI为例,说明几个需要...
阅读全文
2012-08-21 06:13 工业·编程 ⁄ 共 2137字 暂无评论
背景需求: 1、MFC对话框最小化时,只显示系统右下角托盘图标。 2、双击托盘,对话框还原。 3、右键点击托盘,弹出“关闭”菜单,可关闭对话框。 实现步骤: 1、创建MFC对话框程序(本例程序名为TaskbarIcon),属性中设置“MinimizeBox”为true。 2、定义自定义消息宏。 #define NOTIFY_SHOW WM_USER+2500 3、OnSysCommand(系统消息响应函数)添加对话框最小化执行代码。 void CTaskbarIconDlg::OnSysCommand(UINT nID, LPARAM lP...
阅读全文
2012-08-21 06:12 工业·编程 ⁄ 共 4663字 暂无评论
一、 概述 C++多线程开发中,容易出现死锁导致程序挂起的现象。关于死锁的信息,见百度百科。 解决步骤分为三步: 1、检测死锁线程。 2、打印线程信息。 3、修改死锁程序。 二、 程序示例 VS2005创建支持MFC的win32控制台程序。 代码见示例代码DeadLockTest.cpp。 // DeadLockTest.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "DeadLoc...
阅读全文
2012-08-21 06:09 工业·编程 ⁄ 共 599字 暂无评论
dynamic_cast运算符可以在执行期决定真正的类型。这里讲一下进行类层次下行转化时一点小心得。 vs2005创建控制台程序。 源码如下: DynamicCastTest.cpp #include "stdafx.h" struct StBaseInfo {     int nID; }; struct StExtendInfo : public StBaseInfo {     int nAnything; }; int _tmain(int argc, _TCHAR* argv[]) {     StBaseInfo* pBa...
阅读全文
2012-08-20 06:45 工业·编程 ⁄ 共 2471字 暂无评论
冒泡排序又称起泡排序,这是一种简单效率最低的排序,也是大家非常熟悉。 下面看看,冒泡排序的是怎样工作: 我认为这种排序分为两两种:向上冒泡和向下冒泡: 一,向上冒泡:也就满足条件的向上冒泡,看一组数9 8 6 7 4 (假设是从小到大排序,反之一样) 因为是向上冒泡也就小的数往前走。 第一躺:4 9 8 6 7 第二躺:4 6 9 8 7 第三躺:4 6 7 9 8 第四躺:4 6 7 8 9 每一躺是把相邻的数比较,以第一躺为...
阅读全文