摘要: 防止应用程序重复启动可在应用程序类的InitInstance函数中加入如下代码:HANDLE hMutex=::CreateMutex(NULL,TRUE,m_pszAppName); if (GetLastError()==ERROR_ALREADY_EXISTS) { MessageBox(NULL,"程序已经启动了!","提示",MB_ICONINFORMATION); CloseHandle(hMutex); return FALSE; } 阅读全文
posted @ 2013-04-23 20:29 shinecox 阅读(185) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>using namespace std;class Animal{public: void eat() { cout<<"animal eat"<<endl; }protected: void sleep() { cout<<"animal sleep"<<endl; }private: void breathe() { cout<<"animal beathe"<<endl; }};class Fish:publ 阅读全文
posted @ 2013-04-18 19:47 shinecox 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 不能建立数组的引用是说,数组的元素不能是引用。而int (&b)[3] = a;b本身是一个引用,b不是数组。b的引用是数组名a.如果建立数组的元素的引用,则为:int& b[3];但是int& b[3];C++不支持,因为引用不可以作数组中的元素。原因是它不支持传统意义的复制,传统意义的复制:int a = b;a和b在内存中分别占用,内容一致。如果int &a = b;因此这种复制,内存中a并不分配新的内存,自然会错误本文来自http://blog.csdn.net/cnmilan/article/details/7464233 阅读全文
posted @ 2013-04-17 11:25 shinecox 阅读(328) 评论(0) 推荐(0) 编辑
摘要: 刚开始不明白,后来百度得出一下答案:CString 是MFC或者ATL中的实现,string是C++标准库中的实现string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中;CString(typedef CStringT<TCHAR, StrTraitMFC<TCHAR>> CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char(应用于ANSI),wchar_t(unicode),TCHAR(ANSI与unicod 阅读全文
posted @ 2013-04-16 15:24 shinecox 阅读(422) 评论(0) 推荐(0) 编辑
摘要: ATL,Active Template Library活动模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。通过活动模板库,可以建立COM组件,然后通过ASP页面中的脚本对COM对象进行调用。这种COM组件可以包含属性页、对话框等等控件。 阅读全文
posted @ 2013-04-16 15:11 shinecox 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 最近在写跟据数据库自动生成C++源代码的小程序。其中用到连接数据库,由于打算用C#做界面,用dll来进行处理,所以C++代码都用的函数,没有封装成类。于是连接数据库的时候就出了点小问题,原因是我在自己定义的ado.h文件中使用了_ConnectionPtr pConnection;错误就出在这里因为在是对变量的定义而不是声明,当你在其他文件中包含这个头文件的时候就会出现变量的重复定义。解决办法是在.cpp文件中定义,在头文件中使用extern声明。 阅读全文
posted @ 2013-04-16 15:03 shinecox 阅读(755) 评论(0) 推荐(0) 编辑