C语言/C++ 教程

C语言/C++ 教程:包含了所有代写案例以及部分答案

  • AbortDoc 打消一份文档的打印 AbortPrinter 删除与一台打印构造联在一起的缓冲文件 AddForm 为打印机的表单列表添加一个新表单 AddJob 用于获取一个有效的路径名,以便用它为功课建设一个靠山打印文件。它也会为功课分派一个功课编号 AddMonitor 为系统添加一个打印机监督器 AddPort 启动“添加端口”对话框,答允用户在系统可用端口列表中插手一个新端口 AddPrinter 在系统中添加一台新打印机 AddPrinterConnecti … 继续阅读“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”

    :
  • 副标题#e# 今朝,许多共享软件中利用注册码来实现对软件的掩护。所谓注册码,就是一组与用户的某些特定信息(如用户名称、计较机硬件等等)相关的字符串。由于注册码传输起来较量简朴,同时容易验证(相对付磁盘、光盘指纹等),因此此刻注册码的应用越来越遍及,甚至一些贸易软件,如Windows XP也利用了雷同的机制(Microsoft称为Windows Product Activation)。 谈起注册码,就不能不提注册器。注册器是用来发生注册码的措施,其计较逻辑凡是与受掩护的应用措施一致。通过与受掩护应 … 继续阅读“共享软件注册部门的简朴实现”

    :
  • 副标题#e# 接口 某些时候,让不相关的类分享一组公有成员,以便发生沟通的行为,长短常有用的。一个最根基的要领大概是通过一个民众的基类来界说它们,但这种要领太受范围,因为它要求这些类通过担任而相互关联,别的,它们也许尚有着各自的基类,且CLI范例只支持单一类担任。 C++/CLI提供了一种要领,可操作多个类实现一组通用的成果,这就是我们通称的"接口",而一个接口则是一构成员函数的声明。要留意,这些函数只是声明,没有界说,也就是说,一个接口界说了一个由抽象函数构成的范例&#82 … 继续阅读“实例理会C++/CLI中的接口与泛型”

    :
  • 副标题#e# 一. 媒介 今朝网络编程技能有许多,一般都是直接操作编程软件自带的成果函数或控件来完成,用户不必体贴低层的操纵,确实带来利便。但机动性不足,假如要传输的文件较量大,则速度慢。假如网络的断线率高,则不得不从头传输。本措施可以降服以上不敷,将任意巨细的文件视网络状况在客户端支解成任意巨细的数据流举办发送,在处事端吸收数据流,并组装成原文件。假如网络被间断,则记下位置,待网络规复后继承从断点的位置传输,终端继承吸收,直到传输完毕。 本措施在Windows2000调试通过,读者可以应用本措 … 继续阅读“C++ Builder文件任意支解传输技能”

    :