C/C++专题
PerfectToday
不管做什么事情,都应该将心态回归于零:抱着学习的态度,将每一次任务视为一个新的开始一段新的体验一扇通往成功的智慧之门.
展开
-
C++友元 简述
#include "windows.h"#include "iostream.h"class FB;class FA{public: FA() { strcpy(chMsg, "C++友元学习"); }; void Msg(FB & fb); //类的成员函数,其是类FB的友元函数 friend void Msg2(FA & fa);private: char chMsg[64];};void Msg2(FA & argu){ cout}class FB{public: FB(char * Msg, ch原创 2010-09-20 10:45:00 · 846 阅读 · 0 评论 -
磁盘驱动器卷标名称
//Get Window Directory TCHAR m_syspath[MAX_PATH];GetWindowsDirectory(m_syspath,MAX_PATH); TCHAR temp[MAX_PATH]; memset(temp,0,MAX_PATH); lstrcpy(temp,m_syspath); CString sysDir原创 2015-09-30 10:14:22 · 3513 阅读 · 0 评论 -
LoadLibrary GetProcAddress FreeLibrary 近距应用
工作中发现两次相关的情况: 第一次发生在2014年4月4日工作周到4月18日工作周,在网上下载了一个开源的ZIP.dll,按照我的习惯,静态链接到自己的应用程序中,就可以随心所欲的使用了。可问题发生了,程序在项目现场运行15天或更长时间后,该DLL的接口函数会出现莫名的异常,导致DLL接口函数无法正常继续工作。 后来,解决办法是使用动态加载DLL的方法,用一次LoadLibrary、GetPro原创 2015-07-24 17:19:44 · 1459 阅读 · 0 评论 -
应用
1原创 2015-07-24 17:17:21 · 648 阅读 · 0 评论 -
system调用时errno错误码
#ifndef _SYS_ERRNO_H_#define _SYS_ERRNO_H_#define EPERM 1 /* Operation not permitted */#define ENOENT 2 /* No such file or directory */#define ESRCH 3 /* No such process */#define EINT原创 2013-07-31 12:19:44 · 1575 阅读 · 0 评论 -
%s 格式 数值数据,阻塞程序正常运行!(VC++开发应用程序小记)
wsprintf(m_gtchLiveRunStatusLog, "[ %s,1号机第%s输入端与OPCSERVER间网络不通 ]", chLiveDiagnosisAnalyzeStr[DIAGNOSIS_CR_ERR_DC-100], i+1);原创 2012-07-31 16:37:12 · 914 阅读 · 0 评论 -
访问已delete并=NULL的指针变量后,出现的183错,当文件已存在时,无法创建该文件。
wsprintf(tchTemp, " 0x%0x---句柄:0x%0x", hr, phServer[0]);第一方面://执行完这句后,我的COM DLL释放工作一直无法顺利开展,会引起CPU 50%的情况;对于单核应该已经是100%了吧//CPU: Intel原创 2011-09-15 14:00:33 · 2885 阅读 · 0 评论 -
5年10次软考常见题目
一、malloc/free与new/delete区别1、malloc/free是C++/C语言的标准库函数,new/delete是C++运算符、保留字2、malloc/free不受编译器控制,像C++类的构造、析构函数与内存的动态申请与释放同步执行,它两指望不上;那么我们申请内存时初始化一些变量,释放内存时释放一些其它资源,我们就得靠new/delete3、不论两者课本上的区别有多原创 2010-03-05 09:31:00 · 655 阅读 · 0 评论 -
常见几何图形的C实现
#include #include "iomanip"#include using namespace std;class Triangle{private:int A;int B;int C;public:Triangle(){};Triangle(int x, int y, int z){A = x;B = y;C = z;}void EnterABC(int x, int y, int z);float getArea();/*s= a+b+c/2;sqrt(s*(s-a)*(s-b)*(s-原创 2011-05-06 09:27:00 · 913 阅读 · 0 评论 -
复数与运算符重载
#include class complex{ private: double real,imag; public: complex() {real=0; imag=0;} complex(double x,double y) { real = x; imag = y; } complex add(complex,complex); friend complex operator friend complex operator+(complex & x, comple原创 2011-05-05 15:49:00 · 647 阅读 · 0 评论 -
C++抽象数据类型(ADT Abstract Data Type)简述
1.1、运算符重载运算符的重载仍保留原有的优先级、操作数个数和语法结构。原创 2010-10-15 10:51:00 · 2811 阅读 · 0 评论 -
C++语言机制之多态性 与 代码重用机制的一种工具之模板 小结
多态是C++乃至面向对象中一个很重要的概念,也是大家学习中的难点,现在就我自己的理解写一些自己的学习心得: 多态性是指对于类的某个功能如果输入的信息不同,那么得到的结果就会不一样;具体来说,就是对同一条消息,被不同类型的对象接收将产生不同的行为。 在C++中,首先函数重载可以体现出多态性,也称为编译时的多态性,亦称静态联编。 所谓静态联编,就是在编译阶段即将主调函数和函数体之间进行连接的联编成为静态联编。那么,和静态联编相对应的就是动态联编,也叫运行时的多态性。其在运行阶段有系统自原创 2010-10-15 10:23:00 · 1139 阅读 · 0 评论 -
C++面向对象语言的重要特性之一 继承
1、派生类格式class 派生类类:[访问属性,public、protected、private,默认值]基类名{... ...};class CXABC {private: int a;protected: int b;public: int c;public: CXABC(); virtual ~CXABC(); static int x;};class CXABC2 : public CXABC {public: void Test(); CXABC2(); virtual ~CXABC2();}原创 2010-09-20 15:03:00 · 1211 阅读 · 0 评论 -
如何在VC6中申请分配大容量内存
1、最简单、直接的方法是使用C++运算符new,例如:对于分辨率为x*y*8bit的图像,申请分配内存方法:BYTE *pBuf=new BYTE[x*y];用此方法一定要注意,只要pBuf不使用了,就要用delete将其释放掉。2、较复杂的方法是使用API函数GlobalAlloc和LocalAlloc,此方法分配的内存是以“堆”形式提供的,可使用GlobalLock/LocalLo转载 2017-11-22 11:08:31 · 1390 阅读 · 0 评论