C语言/C++ 教程
C语言/C++ 教程:包含了所有代写案例以及部分答案
-
下面是一个将数据直接发送到打印机的示例: 记得在文件中加上#include winspool.h bool Print(char* szPrinterName, char* szBuffer)// szBuffer是我们但愿发送到打印机的数据缓冲{HANDLE hPrinter; //打印机句柄int iLen = strlen(szBuffer);// 发送数据的长度DWORD dwWritten; // 已经向打印机写了几多if(OpenPrinter(szPrinterName, & … 继续阅读“将数据直接发送到打印机”
:
-
副标题#e# 在上一篇中我着重先容了WINDOWS API32措施的根基布局框架,您必然想完本钱身的第一个WINDOWS措施吧?别忙我先向您先容一下API的窗口函数,只有相识它您才气举办编程。 什么是窗口函数呢?它又界说了什么呢?窗口函数界说了应用措施对接管到的差异动静的响应,个中包括了应用措施对各类大概接管到的动静的处理惩罚进程,是动静处理惩罚分支节制语句的荟萃。一般来说,窗口函数由一个或多个switch语句构成。每一个case语句对应一种动静,当应用措施接管到一个动静时,在窗口函数内的相应的 … 继续阅读“低级WINDOWS API C++语言版编程(2)”
:
-
AddFontResource 在Windows系统中添加一种字体资源 CreateFont 用指定的属性建设一种逻辑字体 CreateFontIndirect 用指定的属性建设一种逻辑字体 CreateScalableFontResource 为一种TureType字体建设一个资源文件,以便能用API函数AddFontResource将其插手Windows系统 DrawText 将文本描画到指定的矩形中 DrawTextEx 与DrawText相似,只是插手了更多的成果 EnumFontFam … 继续阅读“API之文本和字体函数”
:
-
副标题#e# smart pointers(智能指针)是行为很像指针可是增加了指针没有提供的成果的 objects。譬喻,《C++箴言:利用工具打点资源》叙述了尺度 auto_ptr 和 tr1::shared_ptr 是奈何被应用于在得当的时间自动删除的 heap-based resources(基于堆的资源)的。STL containers 内的 iterators(迭代器)险些始终是 smart pointers(智能指针);你绝对不能指望用 "++" 将一个 buil … 继续阅读“C++箴言:用成员函数模板接管兼容范例”
:
-
副标题#e# 注:此措施有必然的风险性。老妖也没有试过。但愿各人思量清楚了再行事。 要不是亲自试一下,你必然不会相信,运行下面的措施,你的呆板将不能从软盘启动,更不能从硬盘启动。而这个措施仅仅修改了你的硬盘的扩展DOS分区的首埋没扇区。 code segmentassume cs:code,ds:codeorg 100hbegin:xor ax,axmov dl,80hint 13h ;复位硬盘mov ax,201hmov bx,200hmov cx,1mov dx,80hint 13h ;读主 … 继续阅读“KV300技能阐明(有关硬盘锁)”
:
-
副标题#e# 在用C++写要导出类的库时,我们常常只想袒露接口,而埋没类的实现细节。也就是说我们提供的头文件里只提供要袒露的民众成员函数的声明,类的其他所有信息都不会在这个头文件内里显示出来。这个时候就要用到接口与实现疏散的技能。 下面用一个最简朴的例子来说明。 类ClxExp是我们要导出的类,个中有一个私有成员变量是ClxTest类的工具,各个文件内容如下: lxTest.h文件内容: class ClxTest{ public: ClxTest(); virtual ~ClxTest() … 继续阅读“C++中接口与实现疏散的技能”
:
-
副标题#e# 这次我们看看菱形布局的虚担任。虚担任的引入本就是为了办理巨大布局的担任体系问题。上一篇我们在接头虚担任时用的是一个简朴的担任布局,只是为了打个铺垫。 我们先看看这几个类,这是一个典范的菱形担任布局。C100和C101通过虚担任共享同一个父类C041。C110则从C100和C101多重担任而来。 struct C041{ C041() : c_(0x01) {} virtual void foo() { c_ = 0x02; } char c_;};struct C100 : pub … 继续阅读“C++工具机关及多态摸索之菱形布局虚担任”
:
-
与C一样,C++利用布尔表达式简化求值法(short-circuit evaluation)。这暗示一旦确定了布尔表达式的真假值,纵然尚有部门表达式没有被测试,布尔表达式也遏制运算。譬喻: char *p;…if ((p != 0) && (strlen(p) > 10)) … 这里不消担忧当p为空时strlen无法正确运行,因为假如p不便是0的测试失败,strlen不会被挪用。同样: int rangeCheck(int index){ if ((index &l … 继续阅读“More Effective C++:不要重载的操纵符”
:
-
副标题#e# 大大都措施员认为假如他们能这样写代码: x = x + y; x = x – y; 那他们也能这样写: x += y; x -= y; 假如x和y是用户界说的范例(user-defined type),就不能确保这样。就C++来说,operator+、operator=和operator+=之间没有任何关系,因此假如你想让这三个operator同时存在并具有你所期望的干系,就必需本身实现它们。同理,operator -, *, /, 等等也一样。 确保operator的 … 继续阅读“C++顶用赋值形式op=代替单独形式op”
:
-
Eiffel和C++都提供了多担任的机制。但Java却没有,因为它认为多担任会导致很多问题的呈现。不外Java提供了接口(interface)作为一种替换机制,它雷同于Objective C中的协议(protocol)。Sun宣称接口可以提供多担任所能提供的所有特性。 Sun所宣称的“多担任会带来很多的问题”这个概念是对的,尤其是在C++顶用以实现多担任的要领更能说明这一点。那些看起来好像利用多担任会比单担任更简朴的来由,此刻都以被证明是毫无意义。譬喻,如何制订对付从两个 … 继续阅读“C++编程品评系列 担任的本质”
: