![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++基础
文章平均质量分 56
zhongbin104
这个作者很懒,什么都没留下…
展开
-
c++ 虚函数的实现机制
1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下:class A{public: virtual void f(); virtual void g();private转载 2012-05-11 00:32:28 · 417 阅读 · 0 评论 -
MFC下检测计算机是否联网
这里讲一个最简单的方法:Bool IsNetworkAlive( __out LPDWORD lpdwFlags);返回TRUE表示联网,FALSE表示未连接到网络。使用时注意在头部加入如下代码:#include #pragma comment(lib, "Sensapi.lib")函数使用举例:DWORD dw;原创 2013-08-30 17:29:30 · 2805 阅读 · 0 评论 -
CArray的用法
templateclass CArray:public CObject 参数 TYPE 模板参数指定存储在数组中的对象的类型。TYPE是一个由CArray返回的参数。ARG_TYPE 模板参数指定用于访问存储在数组中对象的参数类型。通常是一个对TYPE的参考。ARG_TYPE是一个传递给CArray的参数。 说明 CArray类支持与CArray相似的数组,但是必要时可以动转载 2013-07-05 16:25:44 · 1149 阅读 · 0 评论 -
遍历INI文件和删除指定域内容
主要还是使用的INI文件操作的API,只是把参数修改下。BOOL WINAPI WritePrivateProfileString( __in LPCTSTR lpAppName, __in LPCTSTR lpKeyName, __in LPCTSTR lpString, __in LPCTSTR lpF原创 2013-07-05 13:45:29 · 4447 阅读 · 0 评论 -
VC下加载JPG/GIF/PNG图片的两种方法(转)
本文转自 http://blog.sina.com.cn/s/blog_6582aa410100huil.html。仅管VC有提供相应的API和类来操作bmp位图、图标和(增强)元文件,但却不支持jpg、gif和png等格式的图片,而这几种格式却是常常要用到的。这里我给大家介绍两种办法来操作这些格式的图片。1.用APIOleLoadPicture来加载JPG、GIF格式的图转载 2013-03-28 13:09:28 · 4662 阅读 · 0 评论 -
类的前置声明(forward declaration)和包含头文件(#include)的区别
本内容摘自CSDN论坛,地址:http://topic.csdn.net/u/20110327/23/d18d2aa8-a20f-4c19-bc45-25e1b8419a77.html#replyachor类的前置声明(forward declaration)和包含头文件(#include)的区别常常会迷惑我们,特别是涉及两个类相互包含的时候。因此我们有必要搞清楚二者的区别以及二者的适用场合。原创 2012-10-24 11:45:24 · 1958 阅读 · 0 评论 -
C++的虚函数理解
以下是对虚函数的理解:如果你期望派生类重新定义一个成员函数,那么你应该在基类中把此函数设为virtual。 以单一指令唤起不同函数,这种性质称为Polymorphism,意思是 "the ability to assume many forms",也就是多态。虚函数是C++语言的Polymorphism 性质以及动态联编的关键。 既然抽象类中的虚函数不打算被调用,我原创 2012-10-17 17:59:03 · 617 阅读 · 0 评论 -
VC6源码转换VC9或VC10:enum重定义 的解决版本
由于VC6下的C++标准和VC9、VC10的C++标准不一样,VC9和VC10的C++更标准,所以项目源码转换的时候,有时会出现一些重定义的错误。 出现重定义加如下代码: //在stdafx.h文件中#define WINVER 0x0500#define _WIN32_WINNT 0x0500所有定义为以下Windows 95原创 2012-05-22 15:10:57 · 1300 阅读 · 0 评论 -
main与WinMain的区别
main 是一般C程序的进入点: int main(int argc, char *argv[ ], char *envp[ ]); { ……} WinMain 则是Windows 程序的进入点: int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,原创 2012-10-16 13:46:03 · 6283 阅读 · 0 评论 -
C++枚举线程方法
主要使用的下面几个函数:1、CreateToolhelp32Snapshot2、Thread32First3、Thread32Next所以要引用下面的头文件:#include 枚举线程的代码如下:// 枚举系统当前所有线程信息// 并把信息输出到工程目录下EnumInfo_thread.txtBOOL EnumThreadInfo (){ // 定义线程信息原创 2012-08-15 00:57:52 · 4696 阅读 · 1 评论 -
创建线程 - CreateThread
MSDN中CreateThread原型: HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dw原创 2012-08-15 00:40:29 · 851 阅读 · 0 评论 -
C++枚举进程的方法
主要使用的下面几个函数:1、CreateToolhelp32Snapshot2、Process32First3、Process32Next所以要引用下面的头文件:#include 枚举进程的代码如下:// 枚举系统当前所有进程信息// 并把信息输出到工程目录下EnumInfo_ToolHelp_process.txtBOOL EnumProcessInfo()原创 2012-08-15 00:53:19 · 6407 阅读 · 1 评论 -
创建进程-CreateProcess (二)
STARTUPINFO结构中的cb字段表示该结构的长度,表示子进程继承父进程的STARTUPINFO结构。如果要修改子进程的启动信息,就要先获取到父进程的信息,然后再设置STARTUPINFO结构中的相应字段。如下隐藏启动一个程序: char lpPath[] = "notepad.exe" ; STARTUPINFO si = { sizeof(si) } ; //原创 2012-08-15 00:16:15 · 4701 阅读 · 0 评论 -
创建进程-CreateProcess (一)
CreateProcess函数用于创建进程:函数原型: BOOL CreateProcess ( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes。 LPSECURITY_ATTRIBUTES lpThreadAttrib原创 2012-08-14 23:51:49 · 5244 阅读 · 0 评论 -
VS2010修改C++项目为“静态库中使用MFC”编译问题
1 更改项目属性里如下的选项:(1)项目 -> **属性 -> 配置属性 -> 常规 -> MFC的使用 :在静态库中使用MFC。(2)项目 -> **属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库 :多线程(/MT)。 2 在debug的时候要选 /MTd, Release 版本的再用 /MT原创 2013-08-30 17:17:31 · 4347 阅读 · 0 评论