2012-08-23 20:52
⁄ 工业·编程
⁄ 共 1031字
在C#中定义了关键字sealed,被sealed修饰的类不能被继承。在Java中同样也有关键字final表示一个类型不能被继承。在C++中没有类似于sealed和final的关键字,所以我们只有自己来实现。
很多人都能够想到,类的构造函数和析构函数是关键。因为子类的构造函数会自动调用父类的构造函数。子类的析构函数也会自动调用父类的析构函数。所以要想使一个类不能被继承,只有把它的构造函数和析构函...
c++阅读全文
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-23 19:31
⁄ 工业·编程
⁄ 共 3839字
在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识。 但是如果我问你“拷贝构造函数的参数为什么必须使用引用类型?”这个问题, 你会怎么回答? 或许你会回答为了减少一次内存拷贝? 很惭愧的是,我的第一感觉也是这么回答。不好还好,我有理性这个好品质。思索一下以后,发现这个答案是不对的。
原因:
如果拷贝构造函数中的参数不是...
c++阅读全文
2012-08-22 23:21
⁄ 工业·编程
⁄ 共 349字
┏━━━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ 代 码 │ 意 义 ┃ ┠————┼———————————————————┨ ┃ %a │读浮点值(仅适用于 C99) ┃ ┃ %A │读浮点值(仅适用于 C99) ┃ ┃ %c │读单字符 ┃ ┃ %d │读十进制整数 ┃ ┃ %i │读十进制、八进制、十六进制整数 ┃ ┃ %e │读浮点数 ┃ ┃ %E │读浮点数 ┃ ┃ %f │读浮点数 ┃ ┃ %F │读浮点数(仅适用于 C99) ┃ ┃ %g │读浮点数 ┃ ┃ %G │读浮点数 ┃ ┃ %o │读八进制数 ┃ ...
c++, 数据类型, 格式化阅读全文
2012-08-22 22:52
⁄ 工业·编程
⁄ 共 30287字
在前一篇中,我有提到应用程序关联的方法,归根结底就是在注册表中添加了相应的内容。但这样有个不好的地方,就是会在注册表中留下很多垃圾信息。怎样在调试完程序后,自动清除注册表中冗余的信息呢?我在这里提供一个简单的方法,与大家分享哈。
》》》VC文件关联小结
(一)跟大家介绍一个c++的注册表操作的封装类
1.注册表项RegEntry.h
// CRegEntry: interface for the CRegEntry class. // ///////////////////////////...
c++, 注册表阅读全文
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为例,说明几个需要...
c++, 注册表阅读全文
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...
c++, UI界面阅读全文
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...
c++, 心得阅读全文
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...
c++阅读全文
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 每一躺是把相邻的数比较,以第一躺为...
c++阅读全文